@react-native-ohos/react-native-reanimated 4.0.0-rc.1 → 4.0.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/compatibility.json +161 -161
  2. package/harmony/reanimated/BuildProfile.ets +16 -16
  3. package/harmony/reanimated/build-profile.json5 +18 -18
  4. package/harmony/reanimated/hvigorfile.ts +4 -4
  5. package/harmony/reanimated/index.ets +4 -4
  6. package/harmony/reanimated/oh-package-lock.json5 +39 -0
  7. package/harmony/reanimated/oh-package.json5 +12 -12
  8. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +65 -62
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -93
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -44
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -110
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1376
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -228
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
  200. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
  201. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
  202. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
  203. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +233 -230
  204. package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
  205. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
  206. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
  207. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
  208. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
  209. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
  210. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
  211. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
  212. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
  213. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
  214. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
  215. package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
  216. package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
  217. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +51 -51
  218. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
  219. package/harmony/reanimated/src/main/module.json5 +12 -12
  220. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  221. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  222. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  223. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  224. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  225. package/harmony/reanimated/ts.ts +6 -6
  226. package/harmony/reanimated.har +0 -0
  227. package/package.json +70 -68
  228. package/scripts/deploy.js +191 -191
  229. package/scripts/set-reanimated-version.js +37 -37
  230. package/scripts/update-version.js +119 -119
  231. package/scripts/validate-react-native-version.js +46 -46
  232. package/scripts/validate-worklets-build.js +17 -17
  233. package/scripts/validate-worklets-version.js +84 -79
  234. package/scripts/worklets-version.json +4 -4
  235. package/src/index.ts +9 -9
@@ -1,266 +1,266 @@
1
- // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
- // Use of this source code is governed by a MIT license that can be
3
- // found in the LICENSE file.
4
-
5
- #include "ReanimatedSensor.h"
6
- #include "glog/logging.h"
7
- #include <sensors/oh_sensor.h>
8
- #include <window_manager/oh_display_info.h>
9
- #include <window_manager/oh_display_manager.h>
10
- namespace rnoh {
11
- static std::unordered_map<Sensor_Type, ReanimatedSensor *> g_sensorSubscriberMap_;
12
- static std::mutex g_subscriberMapMutex_; // 保护映射表的互斥锁
13
-
14
- void SensorDataCallbackImpl(Sensor_Event *event) {
15
- if (event == nullptr) {
16
- return;
17
- }
18
- int64_t timestamp = -1;
19
- // 获取传感器数据的时间戳。
20
- int32_t ret = OH_SensorEvent_GetTimestamp(event, &timestamp);
21
- if (ret != SENSOR_SUCCESS) {
22
- return;
23
- }
24
- Sensor_Type sensorType;
25
- // 获取传感器类型。
26
- ret = OH_SensorEvent_GetType(event, &sensorType);
27
- if (ret != SENSOR_SUCCESS) {
28
- return;
29
- }
30
- Sensor_Accuracy accuracy = SENSOR_ACCURACY_UNRELIABLE;
31
- // 获取传感器数据的精度。
32
- ret = OH_SensorEvent_GetAccuracy(event, &accuracy);
33
- if (ret != SENSOR_SUCCESS) {
34
- return;
35
- }
36
- float *data = nullptr;
37
- uint32_t length = 0;
38
- // 获取传感器数据。
39
- ret = OH_SensorEvent_GetData(event, &data, &length);
40
- if (ret != SENSOR_SUCCESS || data == nullptr) {
41
- return;
42
- }
43
-
44
- std::lock_guard<std::mutex> lock(g_subscriberMapMutex_);
45
- auto it = g_sensorSubscriberMap_.find(sensorType);
46
- if (it == g_sensorSubscriberMap_.end()) {
47
- return;
48
- }
49
- ReanimatedSensor *sensorInstance = it->second;
50
- if (sensorInstance == nullptr) {
51
- return;
52
- }
53
-
54
- switch (sensorType) {
55
- case SENSOR_TYPE_ACCELEROMETER: {
56
- double sendData[] = {
57
- data[0],
58
- data[1],
59
- data[2],
60
- };
61
- sensorInstance->runSensor(sendData);
62
- return;
63
- }
64
- case SENSOR_TYPE_GYROSCOPE: {
65
- double sendData[] = {
66
- data[0],
67
- data[1],
68
- data[2],
69
- };
70
- sensorInstance->runSensor(sendData);
71
- return;
72
- }
73
- case SENSOR_TYPE_GRAVITY: {
74
- double sendData[] = {
75
- data[0],
76
- data[1],
77
- data[2],
78
- };
79
- sensorInstance->runSensor(sendData);
80
- return;
81
- }
82
- case SENSOR_TYPE_MAGNETIC_FIELD: {
83
- double sendData[] = {
84
- data[0],
85
- data[1],
86
- data[2],
87
- };
88
- sensorInstance->runSensor(sendData);
89
- return;
90
- }
91
- case SENSOR_TYPE_ROTATION_VECTOR: {
92
- double sendData[] = {
93
- data[0], // x
94
- data[1], // y
95
- data[2], // z
96
- data[3], // w
97
- // ios
98
- 0, // yaw
99
- 0, // pitch
100
- 0 // roll
101
- };
102
- sensorInstance->runSensor(sendData);
103
- return;
104
- }
105
- default:
106
- return;
107
- }
108
- }
109
-
110
-
111
- rnoh::ReanimatedSensor::ReanimatedSensor(int sensorType, int interval, int iosReferenceFrame,
112
- std::function<void(double *, int)> setter,
113
- std::function<void(TaskExecutor::Task &&)> runOnTheMainThread)
114
- : iosReferenceFrame_(iosReferenceFrame), setter_(std::move(setter)),
115
- runOnTheMainThread_(std::move(runOnTheMainThread)) {
116
- if (interval == -1) {
117
- uint32_t refreshRate = 0;
118
- OH_NativeDisplayManager_GetDefaultDisplayRefreshRate(&refreshRate);
119
- if (refreshRate > 0) {
120
- interval_ = refreshRate * 1000000; // 120hz;
121
- } else {
122
- interval_ = 200000000;
123
- }
124
- } else {
125
- // js unit is milliseconds
126
- interval_ = interval * 1000000;
127
- }
128
- castSensorType(sensorType);
129
- }
130
-
131
-
132
- void rnoh::ReanimatedSensor::castSensorType(int sensorType) {
133
- if (sensorType == 1) {
134
- sensorType_ = SENSOR_TYPE_ACCELEROMETER;
135
- } else if (sensorType == 2) {
136
- sensorType_ = SENSOR_TYPE_GYROSCOPE;
137
- } else if (sensorType == 3) {
138
- sensorType_ = SENSOR_TYPE_GRAVITY;
139
- } else if (sensorType == 4) {
140
- sensorType_ = SENSOR_TYPE_MAGNETIC_FIELD;
141
- } else if (sensorType == 5) {
142
- sensorType_ = SENSOR_TYPE_ROTATION_VECTOR;
143
- } else {
144
- throw std::invalid_argument("[ReanimatedSensor] Unknown sensorType: " + sensorType);
145
- }
146
- }
147
-
148
- bool rnoh::ReanimatedSensor::initialize() {
149
- if (!isSupportSensor()) {
150
- LOG(ERROR) << "[ReanimatedSensor] is not support, sensorType:" << sensorType_;
151
- return false;
152
- }
153
- id_ = OH_Sensor_CreateSubscriptionId();
154
- if (id_ == nullptr) {
155
- LOG(ERROR) << "[ReanimatedSensor] create sensor id failed";
156
- return false;
157
- }
158
- int32_t res = OH_SensorSubscriptionId_SetType(id_, sensorType_);
159
- if (res != SENSOR_SUCCESS) {
160
- LOG(ERROR) << "[ReanimatedSensor] set sensor type failed ,sensorType:" << sensorType_;
161
- return false;
162
- }
163
- auto attr = OH_Sensor_CreateSubscriptionAttribute();
164
- if (attr == nullptr) {
165
- LOG(ERROR) << "[ReanimatedSensor] create sensor attribute failed";
166
- return false;
167
- }
168
-
169
- res = OH_SensorSubscriptionAttribute_SetSamplingInterval(attr, interval_);
170
- if (res != SENSOR_SUCCESS) {
171
- LOG(ERROR) << "[ReanimatedSensor] set sensor Interval failed, interval_:" << interval_;
172
- return false;
173
- }
174
-
175
- subSensor_ = OH_Sensor_CreateSubscriber();
176
-
177
- {
178
- std::lock_guard<std::mutex> lock(g_subscriberMapMutex_);
179
- g_sensorSubscriberMap_[sensorType_] = this;
180
- }
181
-
182
- int32_t ret = OH_SensorSubscriber_SetCallback(subSensor_, SensorDataCallbackImpl);
183
- if (ret != SENSOR_SUCCESS) {
184
- LOG(ERROR) << "[ReanimatedSensor] set sensor callback failed";
185
- return false;
186
- }
187
- Sensor_Result sensorRes = OH_Sensor_Subscribe(id_, attr, subSensor_);
188
- if (sensorRes != SENSOR_SUCCESS) {
189
- LOG(ERROR) << "[ReanimatedSensor] on sensor subscribe failed";
190
- return false;
191
- }
192
- return true;
193
- }
194
-
195
-
196
- bool rnoh::ReanimatedSensor::isSupportSensor() {
197
- uint32_t count = 0;
198
- int32_t ret = OH_Sensor_GetInfos(nullptr, &count);
199
- bool isSupport = false;
200
- if (count > 0) {
201
- Sensor_Info **sensors = OH_Sensor_CreateInfos(count);
202
- ret = OH_Sensor_GetInfos(sensors, &count);
203
- for (uint32_t i = 0; i < count; ++i) {
204
- Sensor_Info *sensorInfoTemp = sensors[i];
205
- Sensor_Type sensorType;
206
- ret = OH_SensorInfo_GetType(sensorInfoTemp, &sensorType);
207
- if (sensorType == sensorType_) {
208
- isSupport = true;
209
- break;
210
- }
211
- }
212
- ret = OH_Sensor_DestroyInfos(sensors, count);
213
- }
214
- return isSupport;
215
- }
216
-
217
- void rnoh::ReanimatedSensor::runSensor(double *value) {
218
- if (value && setter_ && runOnTheMainThread_) {
219
- runOnTheMainThread_([weakSelf = weak_from_this(), value]() {
220
- auto self = weakSelf.lock();
221
- if (!self) {
222
- return;
223
- }
224
- self->setter_(value, self->getInterfaceOrientation());
225
- });
226
- }
227
- }
228
-
229
- int rnoh::ReanimatedSensor::getInterfaceOrientation() {
230
- NativeDisplayManager_Rotation rotation;
231
- auto ret = OH_NativeDisplayManager_GetDefaultDisplayRotation(&rotation);
232
- if (ret == DISPLAY_MANAGER_OK) {
233
- switch (rotation) {
234
- case DISPLAY_MANAGER_ROTATION_270:
235
- return 270;
236
- case DISPLAY_MANAGER_ROTATION_90:
237
- return 90;
238
- case DISPLAY_MANAGER_ROTATION_180:
239
- return 180;
240
- default:
241
- return 0;
242
- }
243
- }
244
- return 0;
245
- }
246
-
247
-
248
- void rnoh::ReanimatedSensor::cancel() { destroySensor(); }
249
-
250
- void rnoh::ReanimatedSensor::destroySensor() {
251
- std::lock_guard<std::mutex> lock(g_subscriberMapMutex_);
252
- for (auto it = g_sensorSubscriberMap_.begin(); it != g_sensorSubscriberMap_.end();) {
253
- if (it->second == this) {
254
- OH_Sensor_Unsubscribe(it->second->id_, it->second->subSensor_);
255
- OH_Sensor_DestroySubscriptionId(it->second->id_);
256
- OH_Sensor_DestroySubscriber(it->second->subSensor_);
257
- it->second->subSensor_ = nullptr;
258
- it = g_sensorSubscriberMap_.erase(it);
259
- } else {
260
- ++it;
261
- }
262
- }
263
- }
264
-
265
- rnoh::ReanimatedSensor::~ReanimatedSensor() { destroySensor(); }
1
+ // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
+ // Use of this source code is governed by a MIT license that can be
3
+ // found in the LICENSE file.
4
+
5
+ #include "ReanimatedSensor.h"
6
+ #include "glog/logging.h"
7
+ #include <sensors/oh_sensor.h>
8
+ #include <window_manager/oh_display_info.h>
9
+ #include <window_manager/oh_display_manager.h>
10
+ namespace rnoh {
11
+ static std::unordered_map<Sensor_Type, ReanimatedSensor *> g_sensorSubscriberMap_;
12
+ static std::mutex g_subscriberMapMutex_; // 保护映射表的互斥锁
13
+
14
+ void SensorDataCallbackImpl(Sensor_Event *event) {
15
+ if (event == nullptr) {
16
+ return;
17
+ }
18
+ int64_t timestamp = -1;
19
+ // 获取传感器数据的时间戳。
20
+ int32_t ret = OH_SensorEvent_GetTimestamp(event, &timestamp);
21
+ if (ret != SENSOR_SUCCESS) {
22
+ return;
23
+ }
24
+ Sensor_Type sensorType;
25
+ // 获取传感器类型。
26
+ ret = OH_SensorEvent_GetType(event, &sensorType);
27
+ if (ret != SENSOR_SUCCESS) {
28
+ return;
29
+ }
30
+ Sensor_Accuracy accuracy = SENSOR_ACCURACY_UNRELIABLE;
31
+ // 获取传感器数据的精度。
32
+ ret = OH_SensorEvent_GetAccuracy(event, &accuracy);
33
+ if (ret != SENSOR_SUCCESS) {
34
+ return;
35
+ }
36
+ float *data = nullptr;
37
+ uint32_t length = 0;
38
+ // 获取传感器数据。
39
+ ret = OH_SensorEvent_GetData(event, &data, &length);
40
+ if (ret != SENSOR_SUCCESS || data == nullptr) {
41
+ return;
42
+ }
43
+
44
+ std::lock_guard<std::mutex> lock(g_subscriberMapMutex_);
45
+ auto it = g_sensorSubscriberMap_.find(sensorType);
46
+ if (it == g_sensorSubscriberMap_.end()) {
47
+ return;
48
+ }
49
+ ReanimatedSensor *sensorInstance = it->second;
50
+ if (sensorInstance == nullptr) {
51
+ return;
52
+ }
53
+
54
+ switch (sensorType) {
55
+ case SENSOR_TYPE_ACCELEROMETER: {
56
+ double sendData[] = {
57
+ data[0],
58
+ data[1],
59
+ data[2],
60
+ };
61
+ sensorInstance->runSensor(sendData);
62
+ return;
63
+ }
64
+ case SENSOR_TYPE_GYROSCOPE: {
65
+ double sendData[] = {
66
+ data[0],
67
+ data[1],
68
+ data[2],
69
+ };
70
+ sensorInstance->runSensor(sendData);
71
+ return;
72
+ }
73
+ case SENSOR_TYPE_GRAVITY: {
74
+ double sendData[] = {
75
+ data[0],
76
+ data[1],
77
+ data[2],
78
+ };
79
+ sensorInstance->runSensor(sendData);
80
+ return;
81
+ }
82
+ case SENSOR_TYPE_MAGNETIC_FIELD: {
83
+ double sendData[] = {
84
+ data[0],
85
+ data[1],
86
+ data[2],
87
+ };
88
+ sensorInstance->runSensor(sendData);
89
+ return;
90
+ }
91
+ case SENSOR_TYPE_ROTATION_VECTOR: {
92
+ double sendData[] = {
93
+ data[0], // x
94
+ data[1], // y
95
+ data[2], // z
96
+ data[3], // w
97
+ // ios
98
+ 0, // yaw
99
+ 0, // pitch
100
+ 0 // roll
101
+ };
102
+ sensorInstance->runSensor(sendData);
103
+ return;
104
+ }
105
+ default:
106
+ return;
107
+ }
108
+ }
109
+
110
+
111
+ rnoh::ReanimatedSensor::ReanimatedSensor(int sensorType, int interval, int iosReferenceFrame,
112
+ std::function<void(double *, int)> setter,
113
+ std::function<void(TaskExecutor::Task &&)> runOnTheMainThread)
114
+ : iosReferenceFrame_(iosReferenceFrame), setter_(std::move(setter)),
115
+ runOnTheMainThread_(std::move(runOnTheMainThread)) {
116
+ if (interval == -1) {
117
+ uint32_t refreshRate = 0;
118
+ OH_NativeDisplayManager_GetDefaultDisplayRefreshRate(&refreshRate);
119
+ if (refreshRate > 0) {
120
+ interval_ = refreshRate * 1000000; // 120hz;
121
+ } else {
122
+ interval_ = 200000000;
123
+ }
124
+ } else {
125
+ // js unit is milliseconds
126
+ interval_ = interval * 1000000;
127
+ }
128
+ castSensorType(sensorType);
129
+ }
130
+
131
+
132
+ void rnoh::ReanimatedSensor::castSensorType(int sensorType) {
133
+ if (sensorType == 1) {
134
+ sensorType_ = SENSOR_TYPE_ACCELEROMETER;
135
+ } else if (sensorType == 2) {
136
+ sensorType_ = SENSOR_TYPE_GYROSCOPE;
137
+ } else if (sensorType == 3) {
138
+ sensorType_ = SENSOR_TYPE_GRAVITY;
139
+ } else if (sensorType == 4) {
140
+ sensorType_ = SENSOR_TYPE_MAGNETIC_FIELD;
141
+ } else if (sensorType == 5) {
142
+ sensorType_ = SENSOR_TYPE_ROTATION_VECTOR;
143
+ } else {
144
+ throw std::invalid_argument("[ReanimatedSensor] Unknown sensorType: " + sensorType);
145
+ }
146
+ }
147
+
148
+ bool rnoh::ReanimatedSensor::initialize() {
149
+ if (!isSupportSensor()) {
150
+ LOG(ERROR) << "[ReanimatedSensor] is not support, sensorType:" << sensorType_;
151
+ return false;
152
+ }
153
+ id_ = OH_Sensor_CreateSubscriptionId();
154
+ if (id_ == nullptr) {
155
+ LOG(ERROR) << "[ReanimatedSensor] create sensor id failed";
156
+ return false;
157
+ }
158
+ int32_t res = OH_SensorSubscriptionId_SetType(id_, sensorType_);
159
+ if (res != SENSOR_SUCCESS) {
160
+ LOG(ERROR) << "[ReanimatedSensor] set sensor type failed ,sensorType:" << sensorType_;
161
+ return false;
162
+ }
163
+ auto attr = OH_Sensor_CreateSubscriptionAttribute();
164
+ if (attr == nullptr) {
165
+ LOG(ERROR) << "[ReanimatedSensor] create sensor attribute failed";
166
+ return false;
167
+ }
168
+
169
+ res = OH_SensorSubscriptionAttribute_SetSamplingInterval(attr, interval_);
170
+ if (res != SENSOR_SUCCESS) {
171
+ LOG(ERROR) << "[ReanimatedSensor] set sensor Interval failed, interval_:" << interval_;
172
+ return false;
173
+ }
174
+
175
+ subSensor_ = OH_Sensor_CreateSubscriber();
176
+
177
+ {
178
+ std::lock_guard<std::mutex> lock(g_subscriberMapMutex_);
179
+ g_sensorSubscriberMap_[sensorType_] = this;
180
+ }
181
+
182
+ int32_t ret = OH_SensorSubscriber_SetCallback(subSensor_, SensorDataCallbackImpl);
183
+ if (ret != SENSOR_SUCCESS) {
184
+ LOG(ERROR) << "[ReanimatedSensor] set sensor callback failed";
185
+ return false;
186
+ }
187
+ Sensor_Result sensorRes = OH_Sensor_Subscribe(id_, attr, subSensor_);
188
+ if (sensorRes != SENSOR_SUCCESS) {
189
+ LOG(ERROR) << "[ReanimatedSensor] on sensor subscribe failed";
190
+ return false;
191
+ }
192
+ return true;
193
+ }
194
+
195
+
196
+ bool rnoh::ReanimatedSensor::isSupportSensor() {
197
+ uint32_t count = 0;
198
+ int32_t ret = OH_Sensor_GetInfos(nullptr, &count);
199
+ bool isSupport = false;
200
+ if (count > 0) {
201
+ Sensor_Info **sensors = OH_Sensor_CreateInfos(count);
202
+ ret = OH_Sensor_GetInfos(sensors, &count);
203
+ for (uint32_t i = 0; i < count; ++i) {
204
+ Sensor_Info *sensorInfoTemp = sensors[i];
205
+ Sensor_Type sensorType;
206
+ ret = OH_SensorInfo_GetType(sensorInfoTemp, &sensorType);
207
+ if (sensorType == sensorType_) {
208
+ isSupport = true;
209
+ break;
210
+ }
211
+ }
212
+ ret = OH_Sensor_DestroyInfos(sensors, count);
213
+ }
214
+ return isSupport;
215
+ }
216
+
217
+ void rnoh::ReanimatedSensor::runSensor(double *value) {
218
+ if (value && setter_ && runOnTheMainThread_) {
219
+ runOnTheMainThread_([weakSelf = weak_from_this(), value]() {
220
+ auto self = weakSelf.lock();
221
+ if (!self) {
222
+ return;
223
+ }
224
+ self->setter_(value, self->getInterfaceOrientation());
225
+ });
226
+ }
227
+ }
228
+
229
+ int rnoh::ReanimatedSensor::getInterfaceOrientation() {
230
+ NativeDisplayManager_Rotation rotation;
231
+ auto ret = OH_NativeDisplayManager_GetDefaultDisplayRotation(&rotation);
232
+ if (ret == DISPLAY_MANAGER_OK) {
233
+ switch (rotation) {
234
+ case DISPLAY_MANAGER_ROTATION_270:
235
+ return 270;
236
+ case DISPLAY_MANAGER_ROTATION_90:
237
+ return 90;
238
+ case DISPLAY_MANAGER_ROTATION_180:
239
+ return 180;
240
+ default:
241
+ return 0;
242
+ }
243
+ }
244
+ return 0;
245
+ }
246
+
247
+
248
+ void rnoh::ReanimatedSensor::cancel() { destroySensor(); }
249
+
250
+ void rnoh::ReanimatedSensor::destroySensor() {
251
+ std::lock_guard<std::mutex> lock(g_subscriberMapMutex_);
252
+ for (auto it = g_sensorSubscriberMap_.begin(); it != g_sensorSubscriberMap_.end();) {
253
+ if (it->second == this) {
254
+ OH_Sensor_Unsubscribe(it->second->id_, it->second->subSensor_);
255
+ OH_Sensor_DestroySubscriptionId(it->second->id_);
256
+ OH_Sensor_DestroySubscriber(it->second->subSensor_);
257
+ it->second->subSensor_ = nullptr;
258
+ it = g_sensorSubscriberMap_.erase(it);
259
+ } else {
260
+ ++it;
261
+ }
262
+ }
263
+ }
264
+
265
+ rnoh::ReanimatedSensor::~ReanimatedSensor() { destroySensor(); }
266
266
  }
@@ -1,36 +1,36 @@
1
- // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
- // Use of this source code is governed by a MIT license that can be
3
- // found in the LICENSE file.
4
-
5
- #ifndef HARMONY_REANIMATEDSENSOR_H
6
- #define HARMONY_REANIMATEDSENSOR_H
7
- #include <functional>
8
- #include <mutex>
9
- #include <sensors/oh_sensor_type.h>
10
- #include "RNOH/TaskExecutor/TaskExecutor.h"
11
-
12
- namespace rnoh {
13
- class ReanimatedSensor : public std::enable_shared_from_this<ReanimatedSensor> {
14
- public:
15
- ReanimatedSensor(int sensorType, int interval, int iosReferenceFrame, std::function<void(double[], int)> setter,
16
- std::function<void(TaskExecutor::Task &&)> runOnTheMainThread);
17
- ~ReanimatedSensor();
18
- bool initialize();
19
- void cancel();
20
- void castSensorType(int sensorType);
21
- void runSensor(double *value);
22
- std::function<void(double[], int)> setter_;
23
- Sensor_Type sensorType_{SENSOR_TYPE_ACCELEROMETER};
24
-
25
- private:
26
- void destroySensor();
27
- bool isSupportSensor();
28
- int getInterfaceOrientation();
29
- int interval_{-1};
30
- int iosReferenceFrame_{-1};
31
- Sensor_Subscriber *subSensor_{nullptr};
32
- Sensor_SubscriptionId *id_{nullptr};
33
- std::function<void(TaskExecutor::Task &&)> runOnTheMainThread_;
34
- };
35
- } // namespace rnoh
36
- #endif // HARMONY_REANIMATEDSENSOR_H
1
+ // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
+ // Use of this source code is governed by a MIT license that can be
3
+ // found in the LICENSE file.
4
+
5
+ #ifndef HARMONY_REANIMATEDSENSOR_H
6
+ #define HARMONY_REANIMATEDSENSOR_H
7
+ #include <functional>
8
+ #include <mutex>
9
+ #include <sensors/oh_sensor_type.h>
10
+ #include "RNOH/TaskExecutor/TaskExecutor.h"
11
+
12
+ namespace rnoh {
13
+ class ReanimatedSensor : public std::enable_shared_from_this<ReanimatedSensor> {
14
+ public:
15
+ ReanimatedSensor(int sensorType, int interval, int iosReferenceFrame, std::function<void(double[], int)> setter,
16
+ std::function<void(TaskExecutor::Task &&)> runOnTheMainThread);
17
+ ~ReanimatedSensor();
18
+ bool initialize();
19
+ void cancel();
20
+ void castSensorType(int sensorType);
21
+ void runSensor(double *value);
22
+ std::function<void(double[], int)> setter_;
23
+ Sensor_Type sensorType_{SENSOR_TYPE_ACCELEROMETER};
24
+
25
+ private:
26
+ void destroySensor();
27
+ bool isSupportSensor();
28
+ int getInterfaceOrientation();
29
+ int interval_{-1};
30
+ int iosReferenceFrame_{-1};
31
+ Sensor_Subscriber *subSensor_{nullptr};
32
+ Sensor_SubscriptionId *id_{nullptr};
33
+ std::function<void(TaskExecutor::Task &&)> runOnTheMainThread_;
34
+ };
35
+ } // namespace rnoh
36
+ #endif // HARMONY_REANIMATEDSENSOR_H
@@ -1,36 +1,36 @@
1
- // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
- // Use of this source code is governed by a MIT license that can be
3
- // found in the LICENSE file.
4
-
5
- #include "ReanimatedSensorContainer.h"
6
- #include "glog/logging.h"
7
- namespace rnoh {
8
-
9
- rnoh::ReanimatedSensorContainer::ReanimatedSensorContainer() {}
10
-
11
- int rnoh::ReanimatedSensorContainer::registerSensor(int sensorType, int interval, int iosReferenceFrame,
12
- std::function<void(double *, int)> setter,
13
- std::function<void(TaskExecutor::Task &&)> runOnTheMainThread) {
14
- auto sensor =
15
- std::make_shared<ReanimatedSensor>(sensorType, interval, iosReferenceFrame, setter, runOnTheMainThread);
16
- int sensorId = -1;
17
- if (sensor->initialize()) {
18
- sensorId = nextSensorId;
19
- nextSensorId++;
20
- sensorMap_[sensorId] = sensor;
21
- }
22
- return sensorId;
23
- }
24
-
25
- void rnoh::ReanimatedSensorContainer::unregisterSensor(int sensorId) {
26
- auto it = sensorMap_.find(sensorId);
27
- if (it == sensorMap_.end()) {
28
- return;
29
- }
30
- auto sensor = it->second;
31
- if (sensor != nullptr) {
32
- sensor->cancel();
33
- sensorMap_.erase(it);
34
- }
35
- }
1
+ // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
+ // Use of this source code is governed by a MIT license that can be
3
+ // found in the LICENSE file.
4
+
5
+ #include "ReanimatedSensorContainer.h"
6
+ #include "glog/logging.h"
7
+ namespace rnoh {
8
+
9
+ rnoh::ReanimatedSensorContainer::ReanimatedSensorContainer() {}
10
+
11
+ int rnoh::ReanimatedSensorContainer::registerSensor(int sensorType, int interval, int iosReferenceFrame,
12
+ std::function<void(double *, int)> setter,
13
+ std::function<void(TaskExecutor::Task &&)> runOnTheMainThread) {
14
+ auto sensor =
15
+ std::make_shared<ReanimatedSensor>(sensorType, interval, iosReferenceFrame, setter, runOnTheMainThread);
16
+ int sensorId = -1;
17
+ if (sensor->initialize()) {
18
+ sensorId = nextSensorId;
19
+ nextSensorId++;
20
+ sensorMap_[sensorId] = sensor;
21
+ }
22
+ return sensorId;
23
+ }
24
+
25
+ void rnoh::ReanimatedSensorContainer::unregisterSensor(int sensorId) {
26
+ auto it = sensorMap_.find(sensorId);
27
+ if (it == sensorMap_.end()) {
28
+ return;
29
+ }
30
+ auto sensor = it->second;
31
+ if (sensor != nullptr) {
32
+ sensor->cancel();
33
+ sensorMap_.erase(it);
34
+ }
35
+ }
36
36
  }