react-native-rook-sdk 2.1.2 → 4.0.0-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 (335) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +35 -3
  3. package/RNRookSdk.podspec +22 -0
  4. package/android/build.gradle +20 -41
  5. package/android/gradle.properties +5 -5
  6. package/android/src/main/AndroidManifest.xml +1 -2
  7. package/android/src/main/java/com/rooksdk/RookSdkModule.kt +11 -222
  8. package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +24 -33
  9. package/ios/DateHelper.swift +55 -0
  10. package/ios/Encodable.swift +25 -0
  11. package/ios/EncodableDataSource.swift +5 -6
  12. package/ios/EncodableDataSourceAuthorizer.swift +3 -4
  13. package/ios/HearRateMapper.swift +42 -0
  14. package/ios/RookBackground.swift +35 -0
  15. package/ios/RookConfiguration.swift +116 -0
  16. package/ios/RookData.swift +170 -0
  17. package/ios/RookEntry.swift +61 -0
  18. package/ios/RookPermissions.swift +78 -0
  19. package/ios/RookSdk-Bridging-Header.h +12 -0
  20. package/ios/RookSdk.h +14 -2
  21. package/ios/RookSdk.mm +549 -81
  22. package/ios/RookSources.swift +74 -116
  23. package/ios/RookSync.swift +126 -34
  24. package/ios/boost-boost_privacy-Bridging-Header.h +4 -0
  25. package/lib/module/NativeRookSdk.js +95 -0
  26. package/lib/module/NativeRookSdk.js.map +1 -0
  27. package/lib/module/context/RookSyncGateContext.js +2 -0
  28. package/lib/module/context/RookSyncGateContext.js.map +1 -1
  29. package/lib/module/context/RookSyncGateProvider.js +16 -15
  30. package/lib/module/context/RookSyncGateProvider.js.map +1 -1
  31. package/lib/module/context/RookSyncGateReducer.js +2 -0
  32. package/lib/module/context/RookSyncGateReducer.js.map +1 -1
  33. package/lib/module/context/RookSyncGateTypes.js +2 -0
  34. package/lib/module/hooks/useRookAPISources.js +66 -0
  35. package/lib/module/hooks/useRookAPISources.js.map +1 -0
  36. package/lib/module/hooks/useRookAndroidBackgroundSteps.js +12 -25
  37. package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
  38. package/lib/module/hooks/useRookAppleHealth.js +11 -23
  39. package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
  40. package/lib/module/hooks/useRookConfiguration.js +10 -109
  41. package/lib/module/hooks/useRookConfiguration.js.map +1 -1
  42. package/lib/module/hooks/useRookData.js +35 -33
  43. package/lib/module/hooks/useRookData.js.map +1 -1
  44. package/lib/module/hooks/useRookHealthConnect.js +9 -10
  45. package/lib/module/hooks/useRookHealthConnect.js.map +1 -1
  46. package/lib/module/hooks/useRookPermissions.js +39 -77
  47. package/lib/module/hooks/useRookPermissions.js.map +1 -1
  48. package/lib/module/hooks/useRookSamsungHealth.js +35 -0
  49. package/lib/module/hooks/useRookSamsungHealth.js.map +1 -0
  50. package/lib/module/hooks/useRookSync.js +23 -31
  51. package/lib/module/hooks/useRookSync.js.map +1 -1
  52. package/lib/module/hooks/useRookVariables.js +24 -18
  53. package/lib/module/hooks/useRookVariables.js.map +1 -1
  54. package/lib/module/index.js +18 -5
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/module/modules/hook/useRookAutoSync.js +22 -36
  57. package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
  58. package/lib/module/modules/types/sendMessageBroadcast.js +1 -1
  59. package/lib/module/modules/utils/errors.js +2 -0
  60. package/lib/module/modules/utils/errors.js.map +1 -1
  61. package/lib/module/package.json +1 -0
  62. package/lib/module/types/ActivityEvent.js +2 -0
  63. package/lib/module/types/AppleHealthPermissions.js +53 -0
  64. package/lib/module/types/AppleHealthPermissions.js.map +1 -0
  65. package/lib/module/types/AuthorizedSources.js +2 -0
  66. package/lib/module/types/BodySummary.js +2 -0
  67. package/lib/module/types/DataSource.js +10 -0
  68. package/lib/module/types/DataSource.js.map +1 -1
  69. package/lib/module/types/HeartRateEvent.js +2 -0
  70. package/lib/{commonjs/types/DataSource.js.map → module/types/HeartRateEvent.js.map} +1 -1
  71. package/lib/module/types/PermissionsType.js +1 -1
  72. package/lib/module/types/PhysicalSummary.js +2 -0
  73. package/lib/module/types/Rook.js +2 -0
  74. package/lib/{commonjs/types/SyncTypes.js.map → module/types/Rook.js.map} +1 -1
  75. package/lib/module/types/SDKSources.js +2 -0
  76. package/lib/module/types/SDKSources.js.map +1 -1
  77. package/lib/module/types/SamsungHealthPermissions.js +3 -0
  78. package/lib/module/types/SamsungHealthPermissions.js.map +1 -1
  79. package/lib/module/types/SleepSummary.js +2 -0
  80. package/lib/module/types/SummaryTypes.js +1 -1
  81. package/lib/module/types/SyncTypes.js +28 -1
  82. package/lib/module/types/SyncTypes.js.map +1 -1
  83. package/lib/module/utils/isModuleReady.js +2 -0
  84. package/lib/module/utils/isModuleReady.js.map +1 -1
  85. package/lib/module/utils/isRunningOnAndroid.js +2 -0
  86. package/lib/module/utils/isRunningOnAndroid.js.map +1 -1
  87. package/lib/module/utils/isRunningOniOS.js +2 -0
  88. package/lib/module/utils/isRunningOniOS.js.map +1 -1
  89. package/lib/module/utils/isValidDate.js +2 -0
  90. package/lib/module/utils/isValidDate.js.map +1 -1
  91. package/lib/typescript/package.json +1 -0
  92. package/lib/typescript/src/NativeRookSdk.d.ts +190 -0
  93. package/lib/typescript/src/NativeRookSdk.d.ts.map +1 -0
  94. package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
  95. package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
  96. package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
  97. package/lib/typescript/src/hooks/useRookAPISources.d.ts +15 -0
  98. package/lib/typescript/src/hooks/useRookAPISources.d.ts.map +1 -0
  99. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts +0 -1
  100. package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
  101. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts +1 -2
  102. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
  103. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +0 -8
  104. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
  105. package/lib/typescript/src/hooks/useRookData.d.ts +2 -0
  106. package/lib/typescript/src/hooks/useRookData.d.ts.map +1 -1
  107. package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -1
  108. package/lib/typescript/src/hooks/useRookPermissions.d.ts +11 -12
  109. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
  110. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts +7 -0
  111. package/lib/typescript/src/hooks/useRookSamsungHealth.d.ts.map +1 -0
  112. package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
  113. package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -1
  114. package/lib/typescript/src/index.d.ts +19 -4
  115. package/lib/typescript/src/index.d.ts.map +1 -1
  116. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
  117. package/lib/typescript/src/types/AppleHealthPermissions.d.ts +50 -0
  118. package/lib/typescript/src/types/AppleHealthPermissions.d.ts.map +1 -0
  119. package/lib/typescript/src/types/AuthorizedSources.d.ts +3 -3
  120. package/lib/typescript/src/types/AuthorizedSources.d.ts.map +1 -1
  121. package/lib/typescript/src/types/DataSource.d.ts +8 -1
  122. package/lib/typescript/src/types/DataSource.d.ts.map +1 -1
  123. package/lib/typescript/src/types/HeartRateEvent.d.ts +24 -0
  124. package/lib/typescript/src/types/HeartRateEvent.d.ts.map +1 -0
  125. package/lib/typescript/src/types/PermissionsType.d.ts +0 -4
  126. package/lib/typescript/src/types/PermissionsType.d.ts.map +1 -1
  127. package/lib/typescript/src/types/Rook.d.ts +9 -0
  128. package/lib/typescript/src/types/Rook.d.ts.map +1 -0
  129. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +1 -0
  130. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -1
  131. package/lib/typescript/src/types/SyncTypes.d.ts +28 -5
  132. package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
  133. package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
  134. package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
  135. package/package.json +94 -98
  136. package/src/NativeRookSdk.ts +281 -0
  137. package/{lib/commonjs/context/RookSyncGateContext.js → src/context/RookSyncGateContext.ts} +10 -13
  138. package/src/context/RookSyncGateProvider.tsx +78 -0
  139. package/{lib/commonjs/context/RookSyncGateReducer.js → src/context/RookSyncGateReducer.ts} +12 -33
  140. package/src/context/RookSyncGateTypes.ts +34 -0
  141. package/src/hooks/useRookAPISources.ts +83 -0
  142. package/src/hooks/useRookAndroidBackgroundSteps.ts +81 -0
  143. package/src/hooks/useRookAppleHealth.ts +55 -0
  144. package/src/hooks/useRookConfiguration.ts +82 -0
  145. package/src/hooks/useRookData.ts +122 -0
  146. package/src/hooks/useRookHealthConnect.ts +59 -0
  147. package/src/hooks/useRookPermissions.ts +224 -0
  148. package/src/hooks/useRookSamsungHealth.ts +37 -0
  149. package/src/hooks/useRookSync.ts +157 -0
  150. package/src/hooks/useRookVariables.ts +77 -0
  151. package/src/index.tsx +28 -0
  152. package/src/modules/hook/useRookAutoSync.ts +305 -0
  153. package/src/modules/types/sendMessageBroadcast.ts +5 -0
  154. package/src/modules/utils/errors.ts +9 -0
  155. package/src/types/ActivityEvent.ts +159 -0
  156. package/src/types/AppleHealthPermissions.ts +49 -0
  157. package/src/types/AuthorizedSources.ts +33 -0
  158. package/src/types/BodySummary.ts +116 -0
  159. package/src/types/DataSource.ts +16 -0
  160. package/src/types/HeartRateEvent.ts +26 -0
  161. package/src/types/PermissionsType.ts +9 -0
  162. package/src/types/PhysicalSummary.ts +84 -0
  163. package/src/types/Rook.ts +8 -0
  164. package/src/types/SDKSources.ts +5 -0
  165. package/src/types/SamsungHealthPermissions.ts +16 -0
  166. package/src/types/SleepSummary.ts +66 -0
  167. package/src/types/SummaryTypes.ts +70 -0
  168. package/src/types/SyncTypes.ts +63 -0
  169. package/{lib/commonjs/utils/isModuleReady.js → src/utils/isModuleReady.ts} +4 -10
  170. package/src/utils/isRunningOnAndroid.ts +10 -0
  171. package/src/utils/isRunningOniOS.ts +10 -0
  172. package/{lib/commonjs/utils/isValidDate.js → src/utils/isValidDate.ts} +5 -10
  173. package/android/src/main/AndroidManifestNew.xml +0 -36
  174. package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +0 -65
  175. package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +0 -70
  176. package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +0 -52
  177. package/android/src/main/java/com/rooksdk/modules/RookBackgroundSyncModule.kt +0 -85
  178. package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +0 -148
  179. package/android/src/main/java/com/rooksdk/modules/RookLocalData.kt +0 -247
  180. package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +0 -309
  181. package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +0 -105
  182. package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +0 -496
  183. package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +0 -63
  184. package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +0 -21
  185. package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +0 -64
  186. package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +0 -20
  187. package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +0 -21
  188. package/android/src/main/java/com/rooksdk/utils/Source.kt +0 -6
  189. package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +0 -58
  190. package/android/src/main/java/com/rooksdk/utils/serializers/InstantSerializer.kt +0 -19
  191. package/android/src/main/java/com/rooksdk/utils/serializers/LocalDateSerializer.kt +0 -21
  192. package/android/src/main/res/drawable/ic_health_connect.xml +0 -19
  193. package/android/src/main/res/values/themes.xml +0 -3
  194. package/ios/EncodableRookDataSource.swift +0 -36
  195. package/ios/EncodableStatusDataSources.swift +0 -47
  196. package/ios/RookBackgroundModule.h +0 -5
  197. package/ios/RookBackgroundModule.mm +0 -89
  198. package/ios/RookConfigurationModule.h +0 -5
  199. package/ios/RookConfigurationModule.mm +0 -163
  200. package/ios/RookExternalModule.h +0 -5
  201. package/ios/RookExternalModule.m +0 -27
  202. package/ios/RookLocalData.swift +0 -152
  203. package/ios/RookPermissionsModule.h +0 -5
  204. package/ios/RookPermissionsModule.mm +0 -180
  205. package/ios/RookSourcesModule.h +0 -5
  206. package/ios/RookSourcesModule.mm +0 -67
  207. package/ios/RookSync.h +0 -5
  208. package/ios/RookSync.m +0 -27
  209. package/ios/RookSyncModule.h +0 -5
  210. package/ios/RookSyncModule.mm +0 -476
  211. package/ios/SwiftTest.swift +0 -18
  212. package/ios/react-native-rook-sdk-Bridging-Header.h +0 -12
  213. package/lib/commonjs/context/RookSyncGateContext.js.map +0 -1
  214. package/lib/commonjs/context/RookSyncGateProvider.js +0 -98
  215. package/lib/commonjs/context/RookSyncGateProvider.js.map +0 -1
  216. package/lib/commonjs/context/RookSyncGateReducer.js.map +0 -1
  217. package/lib/commonjs/context/RookSyncGateTypes.js +0 -6
  218. package/lib/commonjs/context/RookSyncGateTypes.js.map +0 -1
  219. package/lib/commonjs/context/index.js +0 -14
  220. package/lib/commonjs/context/index.js.map +0 -1
  221. package/lib/commonjs/hooks/index.js +0 -90
  222. package/lib/commonjs/hooks/index.js.map +0 -1
  223. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +0 -100
  224. package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +0 -1
  225. package/lib/commonjs/hooks/useRookAppleHealth.js +0 -74
  226. package/lib/commonjs/hooks/useRookAppleHealth.js.map +0 -1
  227. package/lib/commonjs/hooks/useRookAppleHealthVariables.js +0 -48
  228. package/lib/commonjs/hooks/useRookAppleHealthVariables.js.map +0 -1
  229. package/lib/commonjs/hooks/useRookConfiguration.js +0 -188
  230. package/lib/commonjs/hooks/useRookConfiguration.js.map +0 -1
  231. package/lib/commonjs/hooks/useRookData.js +0 -100
  232. package/lib/commonjs/hooks/useRookData.js.map +0 -1
  233. package/lib/commonjs/hooks/useRookDataSources.js +0 -118
  234. package/lib/commonjs/hooks/useRookDataSources.js.map +0 -1
  235. package/lib/commonjs/hooks/useRookEvents.js +0 -225
  236. package/lib/commonjs/hooks/useRookEvents.js.map +0 -1
  237. package/lib/commonjs/hooks/useRookHealthConnect.js +0 -70
  238. package/lib/commonjs/hooks/useRookHealthConnect.js.map +0 -1
  239. package/lib/commonjs/hooks/useRookPermissions.js +0 -226
  240. package/lib/commonjs/hooks/useRookPermissions.js.map +0 -1
  241. package/lib/commonjs/hooks/useRookSummaries.js +0 -85
  242. package/lib/commonjs/hooks/useRookSummaries.js.map +0 -1
  243. package/lib/commonjs/hooks/useRookSync.js +0 -147
  244. package/lib/commonjs/hooks/useRookSync.js.map +0 -1
  245. package/lib/commonjs/hooks/useRookVariables.js +0 -69
  246. package/lib/commonjs/hooks/useRookVariables.js.map +0 -1
  247. package/lib/commonjs/index.js +0 -56
  248. package/lib/commonjs/index.js.map +0 -1
  249. package/lib/commonjs/modules/hook/useRookAutoSync.js +0 -262
  250. package/lib/commonjs/modules/hook/useRookAutoSync.js.map +0 -1
  251. package/lib/commonjs/modules/types/sendMessageBroadcast.js +0 -2
  252. package/lib/commonjs/modules/types/sendMessageBroadcast.js.map +0 -1
  253. package/lib/commonjs/modules/utils/errors.js +0 -12
  254. package/lib/commonjs/modules/utils/errors.js.map +0 -1
  255. package/lib/commonjs/types/ActivityEvent.js +0 -6
  256. package/lib/commonjs/types/ActivityEvent.js.map +0 -1
  257. package/lib/commonjs/types/AuthorizedSources.js +0 -2
  258. package/lib/commonjs/types/AuthorizedSources.js.map +0 -1
  259. package/lib/commonjs/types/BodySummary.js +0 -6
  260. package/lib/commonjs/types/BodySummary.js.map +0 -1
  261. package/lib/commonjs/types/DataSource.js +0 -2
  262. package/lib/commonjs/types/PermissionsType.js +0 -2
  263. package/lib/commonjs/types/PermissionsType.js.map +0 -1
  264. package/lib/commonjs/types/PhysicalSummary.js +0 -6
  265. package/lib/commonjs/types/PhysicalSummary.js.map +0 -1
  266. package/lib/commonjs/types/SDKSources.js +0 -13
  267. package/lib/commonjs/types/SDKSources.js.map +0 -1
  268. package/lib/commonjs/types/SamsungHealthPermissions.js +0 -23
  269. package/lib/commonjs/types/SamsungHealthPermissions.js.map +0 -1
  270. package/lib/commonjs/types/SleepSummary.js +0 -6
  271. package/lib/commonjs/types/SleepSummary.js.map +0 -1
  272. package/lib/commonjs/types/SummaryTypes.js +0 -2
  273. package/lib/commonjs/types/SummaryTypes.js.map +0 -1
  274. package/lib/commonjs/types/SyncTypes.js +0 -6
  275. package/lib/commonjs/utils/credentials.js +0 -12
  276. package/lib/commonjs/utils/credentials.js.map +0 -1
  277. package/lib/commonjs/utils/getNativeModule.js +0 -29
  278. package/lib/commonjs/utils/getNativeModule.js.map +0 -1
  279. package/lib/commonjs/utils/getRookModule.js +0 -28
  280. package/lib/commonjs/utils/getRookModule.js.map +0 -1
  281. package/lib/commonjs/utils/isModuleReady.js.map +0 -1
  282. package/lib/commonjs/utils/isRunningOnAndroid.js +0 -15
  283. package/lib/commonjs/utils/isRunningOnAndroid.js.map +0 -1
  284. package/lib/commonjs/utils/isRunningOniOS.js +0 -15
  285. package/lib/commonjs/utils/isRunningOniOS.js.map +0 -1
  286. package/lib/commonjs/utils/isValidDate.js.map +0 -1
  287. package/lib/commonjs/utils/nativeModules.js +0 -28
  288. package/lib/commonjs/utils/nativeModules.js.map +0 -1
  289. package/lib/commonjs/utils/packageInfo.js +0 -13
  290. package/lib/commonjs/utils/packageInfo.js.map +0 -1
  291. package/lib/module/context/index.js +0 -2
  292. package/lib/module/context/index.js.map +0 -1
  293. package/lib/module/hooks/index.js +0 -13
  294. package/lib/module/hooks/index.js.map +0 -1
  295. package/lib/module/hooks/useRookAppleHealthVariables.js +0 -41
  296. package/lib/module/hooks/useRookAppleHealthVariables.js.map +0 -1
  297. package/lib/module/hooks/useRookDataSources.js +0 -110
  298. package/lib/module/hooks/useRookDataSources.js.map +0 -1
  299. package/lib/module/hooks/useRookEvents.js +0 -218
  300. package/lib/module/hooks/useRookEvents.js.map +0 -1
  301. package/lib/module/hooks/useRookSummaries.js +0 -78
  302. package/lib/module/hooks/useRookSummaries.js.map +0 -1
  303. package/lib/module/utils/credentials.js +0 -6
  304. package/lib/module/utils/credentials.js.map +0 -1
  305. package/lib/module/utils/getNativeModule.js +0 -23
  306. package/lib/module/utils/getNativeModule.js.map +0 -1
  307. package/lib/module/utils/getRookModule.js +0 -22
  308. package/lib/module/utils/getRookModule.js.map +0 -1
  309. package/lib/module/utils/nativeModules.js +0 -22
  310. package/lib/module/utils/nativeModules.js.map +0 -1
  311. package/lib/module/utils/packageInfo.js +0 -7
  312. package/lib/module/utils/packageInfo.js.map +0 -1
  313. package/lib/typescript/src/context/index.d.ts +0 -2
  314. package/lib/typescript/src/context/index.d.ts.map +0 -1
  315. package/lib/typescript/src/hooks/index.d.ts +0 -13
  316. package/lib/typescript/src/hooks/index.d.ts.map +0 -1
  317. package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts +0 -15
  318. package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts.map +0 -1
  319. package/lib/typescript/src/hooks/useRookDataSources.d.ts +0 -22
  320. package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +0 -1
  321. package/lib/typescript/src/hooks/useRookEvents.d.ts +0 -26
  322. package/lib/typescript/src/hooks/useRookEvents.d.ts.map +0 -1
  323. package/lib/typescript/src/hooks/useRookSummaries.d.ts +0 -14
  324. package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +0 -1
  325. package/lib/typescript/src/utils/credentials.d.ts +0 -5
  326. package/lib/typescript/src/utils/credentials.d.ts.map +0 -1
  327. package/lib/typescript/src/utils/getNativeModule.d.ts +0 -10
  328. package/lib/typescript/src/utils/getNativeModule.d.ts.map +0 -1
  329. package/lib/typescript/src/utils/getRookModule.d.ts +0 -9
  330. package/lib/typescript/src/utils/getRookModule.d.ts.map +0 -1
  331. package/lib/typescript/src/utils/nativeModules.d.ts +0 -23
  332. package/lib/typescript/src/utils/nativeModules.d.ts.map +0 -1
  333. package/lib/typescript/src/utils/packageInfo.d.ts +0 -6
  334. package/lib/typescript/src/utils/packageInfo.d.ts.map +0 -1
  335. package/react-native-rook-sdk.podspec +0 -45
@@ -1,85 +0,0 @@
1
- package com.rooksdk.modules
2
-
3
- import com.facebook.react.bridge.Promise
4
- import com.facebook.react.bridge.ReactApplicationContext
5
- import com.facebook.react.bridge.ReactContextBaseJavaModule
6
- import com.facebook.react.bridge.ReactMethod
7
- import com.rookmotion.rook.sdk.RookBackgroundSyncManager
8
- import kotlinx.coroutines.CoroutineScope
9
- import kotlinx.coroutines.Dispatchers
10
- import kotlinx.coroutines.SupervisorJob
11
- import kotlinx.coroutines.launch
12
-
13
- class RookBackgroundSyncModule (reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
14
-
15
- private val backgroundSyncManager = RookBackgroundSyncManager(reactContext)
16
-
17
- private val scope: CoroutineScope by lazy {
18
- CoroutineScope(SupervisorJob() + Dispatchers.Main)
19
- }
20
-
21
- override fun getName(): String {
22
- return "RookBackgroundModule"
23
- }
24
-
25
- /**
26
- * Schedules the background synchronization of health data using Rook.
27
- *
28
- * This function enables automatic background data synchronization with Rook.
29
- * It ensures that health data is periodically fetched and sent to Rook’s API
30
- * based on the defined configuration.
31
- *
32
- * If the scheduling is successful, the promise resolves with "SUCCESS".
33
- * If an error occurs, the promise rejects with an error message.
34
- *
35
- * @param promise A React Native promise that resolves when the sync is scheduled successfully or rejects with an error.
36
- */
37
- @ReactMethod
38
- fun scheduleBackgroundSync(enableLogs: Boolean, promise: Promise) {
39
- try {
40
- backgroundSyncManager.schedule(enableLogs)
41
- promise.resolve(true)
42
- }
43
- catch (e: Exception) {
44
- promise.reject(e)
45
- }
46
-
47
- }
48
-
49
- /**
50
- * Cancels the scheduled background synchronization of health data.
51
- *
52
- * This function stops the automatic background sync previously scheduled using Rook.
53
- * It ensures that no further health data is fetched and sent until scheduled again.
54
- *
55
- * If the cancellation is successful, the promise resolves with "SUCCESS".
56
- * If an error occurs, the promise rejects with an error message.
57
- *
58
- * @param promise A React Native promise that resolves when the sync is canceled successfully or rejects with an error.
59
- */
60
- @ReactMethod
61
- fun cancelBackgroundSync(promise: Promise) {
62
- scope.launch {
63
- try {
64
- backgroundSyncManager.cancel()
65
- promise.resolve(true)
66
- } catch (e: Exception) {
67
- promise.reject(e)
68
- }
69
- }
70
- }
71
-
72
- @ReactMethod
73
- fun isBackgroundSyncEnabled(promise: Promise) {
74
- scope.launch {
75
- backgroundSyncManager.isScheduled().fold(
76
- {
77
- promise.resolve(it)
78
- },
79
- {
80
- promise.reject(it)
81
- }
82
- )
83
- }
84
- }
85
- }
@@ -1,148 +0,0 @@
1
- package com.rooksdk.modules
2
-
3
- import com.facebook.react.bridge.Promise
4
- import com.facebook.react.bridge.ReactApplicationContext
5
- import com.facebook.react.bridge.ReactContextBaseJavaModule
6
- import com.facebook.react.bridge.ReactMethod
7
- import com.facebook.react.bridge.ReadableArray
8
- import com.rookmotion.rook.sdk.RookConfigurationManager
9
- import com.rooksdk.utils.DatasourcesUtils
10
- import com.rooksdk.utils.SamsungAvailability
11
- import com.rooksdk.utils.Source
12
- import io.tryrook.sdk.samsung.RookSamsung
13
- import io.tryrook.sdk.samsung.domain.enums.SamsungHealthAvailability
14
- import kotlinx.coroutines.CoroutineScope
15
- import kotlinx.coroutines.Dispatchers
16
- import kotlinx.coroutines.SupervisorJob
17
- import kotlinx.coroutines.launch
18
-
19
- class RookConfigurationModule(
20
- reactContext: ReactApplicationContext,
21
- private val rookConfigurationManager: RookConfigurationManager,
22
- private val rookSamsung: RookSamsung,
23
- ): ReactContextBaseJavaModule(reactContext) {
24
-
25
- private val scope: CoroutineScope by lazy {
26
- CoroutineScope(SupervisorJob() + Dispatchers.Main)
27
- }
28
-
29
- /**
30
- * Retrieves the currently stored user ID in the Rook SDK configuration.
31
- * @param promise A promise object to handle the result (resolved with the user ID or rejected with an error).
32
- */
33
- @ReactMethod
34
- fun getUserID(promise: Promise) {
35
- scope.launch {
36
- try {
37
- val user = rookConfigurationManager.getUserID()
38
- promise.resolve(user)
39
- }
40
- catch (e: Exception) {
41
- promise.reject(e)
42
- }
43
- }
44
- }
45
-
46
- /**
47
- * Updates the user ID in the Rook SDK configuration.
48
- * @param userID The new user ID to be set.
49
- * @param promise A promise object to handle the result (resolved on success, rejected on failure).
50
- */
51
- @ReactMethod
52
- fun updateUserID(userID: String, promise: Promise) {
53
- scope.launch {
54
- try {
55
- if (SamsungAvailability.isSamsungAvailable(rookSamsung)) {
56
- val r = rookSamsung.updateUserID(userID).getOrNull()
57
- if (r == null) println("We couldn't initiate the user id in Samsung Health")
58
- }
59
-
60
- val result = rookConfigurationManager.updateUserID(userID)
61
- result.getOrThrow()
62
-
63
- promise.resolve(true)
64
- } catch (e: Exception) {
65
- promise.reject(e)
66
- }
67
- }
68
- }
69
-
70
- /**
71
- * Clears the user ID stored in the Rook SDK configuration.
72
- * @param promise A promise object to handle the result (resolved on success, rejected on failure).
73
- */
74
- @ReactMethod
75
- fun clearUserID(rawSources: ReadableArray, promise: Promise) {
76
- scope.launch {
77
- try {
78
- val sources = DatasourcesUtils.readableArrayToSourceList(rawSources)
79
-
80
- if(Source.HEALTH_CONNECT in sources) {
81
- val hcResult = rookConfigurationManager.clearUserID()
82
- hcResult.getOrThrow()
83
- }
84
-
85
- if(Source.SAMSUNG_HEALTH in sources && SamsungAvailability.isSamsungAvailable(rookSamsung)) {
86
- val hcResult = rookSamsung.clearUserID()
87
- hcResult.getOrThrow()
88
- }
89
-
90
- promise.resolve(true)
91
- }
92
- catch (e: Exception) {
93
- promise.reject(e)
94
- }
95
- }
96
- }
97
-
98
- /**
99
- * Deletes the user data from the Rook platform by removing the user from the system.
100
- * @param promise A promise object to handle the result (resolved on success, rejected on failure).
101
- */
102
- @ReactMethod
103
- fun removeUserFromRook(rawSources: ReadableArray, promise: Promise) {
104
- scope.launch {
105
- try {
106
- val sources = DatasourcesUtils.readableArrayToSourceList(rawSources)
107
-
108
- if(Source.HEALTH_CONNECT in sources) {
109
- val hcResult = rookConfigurationManager.deleteUserFromRook()
110
- hcResult.getOrThrow()
111
- }
112
-
113
- if(Source.SAMSUNG_HEALTH in sources && SamsungAvailability.isSamsungAvailable(rookSamsung)) {
114
- val hcResult = rookSamsung.deleteUserFromRook()
115
- hcResult.getOrThrow()
116
- }
117
-
118
- promise.resolve(true)
119
- }
120
- catch (e: Exception) {
121
- promise.reject(e)
122
- }
123
- }
124
- }
125
-
126
- /**
127
- * Synchronizes the user's time zone with the Rook platform to ensure data is processed correctly.
128
- * @param promise A promise object to handle the result (resolved on success, rejected on failure).
129
- */
130
- @ReactMethod
131
- fun syncUserTimeZone(promise: Promise) {
132
- scope.launch {
133
- val result = rookConfigurationManager.syncUserTimeZone()
134
-
135
- result.fold({
136
- promise.resolve(true)
137
- }, {
138
- promise.reject(it)
139
- })
140
- }
141
- }
142
-
143
- override fun getName(): String {
144
- return "RookConfigurationModule"
145
- }
146
-
147
-
148
- }
@@ -1,247 +0,0 @@
1
- package com.rooksdk.modules
2
-
3
- import com.facebook.react.bridge.Promise
4
- import com.facebook.react.bridge.ReactApplicationContext
5
- import com.facebook.react.bridge.ReactContextBaseJavaModule
6
- import com.facebook.react.bridge.ReactMethod
7
- import com.google.gson.Gson
8
- import com.google.gson.GsonBuilder
9
- import com.rookmotion.rook.sdk.RookSyncManager
10
- import com.rookmotion.rook.sdk.domain.model.HCActivityEvent
11
- import com.rookmotion.rook.sdk.domain.model.HCBodySummary
12
- import com.rookmotion.rook.sdk.domain.model.HCPhysicalSummary
13
- import com.rookmotion.rook.sdk.domain.model.HCSleepSummary
14
- import com.rookmotion.rook.sdk.domain.model.SyncStatusWithData
15
- import com.rooksdk.utils.serializers.InstantSerializer
16
- import com.rooksdk.utils.RookDateTime
17
- import com.rooksdk.utils.serializers.LocalDateSerializer
18
- import io.tryrook.sdk.samsung.RookSamsung
19
- import io.tryrook.sdk.samsung.domain.model.SHActivityEvent
20
- import io.tryrook.sdk.samsung.domain.model.SHBodySummary
21
- import io.tryrook.sdk.samsung.domain.model.SHPhysicalSummary
22
- import io.tryrook.sdk.samsung.domain.model.SHSleepSummary
23
- import io.tryrook.sdk.samsung.domain.model.SHSyncStatusWithData
24
- import kotlinx.coroutines.CoroutineScope
25
- import kotlinx.coroutines.Dispatchers
26
- import kotlinx.coroutines.SupervisorJob
27
- import kotlinx.coroutines.launch
28
- import java.time.Instant
29
- import java.time.LocalDate
30
-
31
- class RookLocalData (
32
- reactContext: ReactApplicationContext,
33
- private val rookSamsung: RookSamsung,
34
- ): ReactContextBaseJavaModule(reactContext){
35
-
36
- private val scope: CoroutineScope by lazy {
37
- CoroutineScope(SupervisorJob() + Dispatchers.Main)
38
- }
39
-
40
- private val rookHealthConnect by lazy {
41
- RookSyncManager(reactContext)
42
- }
43
-
44
- private val gsonBuilder: Gson by lazy {
45
- GsonBuilder()
46
- .registerTypeAdapter(Instant::class.java, InstantSerializer())
47
- .registerTypeAdapter(LocalDate::class.java, LocalDateSerializer())
48
- .create()
49
- }
50
-
51
- @ReactMethod
52
- fun getSamsungSleepSummary(date: String, promise: Promise) {
53
- val localDate = RookDateTime.stringToLocalDate(date)
54
-
55
- scope.launch {
56
- rookSamsung.getSleepSummary(localDate).fold(
57
- {
58
- when (it) {
59
- SHSyncStatusWithData.RecordsNotFound -> {
60
- promise.reject("SamsungSleepSummary", "Records Not Found For Date: $date")
61
- }
62
-
63
- is SHSyncStatusWithData.Synced<List<SHSleepSummary>> -> {
64
- promise.resolve(gsonBuilder.toJson(it.data))
65
- }
66
- }
67
- },
68
- {
69
- promise.reject(it)
70
- },
71
- )
72
- }
73
- }
74
-
75
- @ReactMethod
76
- fun getSamsungPhysicalSummary(date: String, promise: Promise) {
77
- val localDate = RookDateTime.stringToLocalDate(date)
78
-
79
- scope.launch {
80
- rookSamsung.getPhysicalSummary(localDate).fold(
81
- {
82
- when (it) {
83
- SHSyncStatusWithData.RecordsNotFound -> {
84
- promise.reject("SamsungPhysicalSummary", "Records Not Found For Date: $date")
85
- }
86
-
87
- is SHSyncStatusWithData.Synced<SHPhysicalSummary> -> {
88
- promise.resolve(gsonBuilder.toJson(it.data))
89
- }
90
- }
91
- },
92
- {
93
- promise.reject(it)
94
- },
95
- )
96
- }
97
- }
98
-
99
- @ReactMethod
100
- fun getSamsungBodySummary(date: String, promise: Promise) {
101
- val localDate = RookDateTime.stringToLocalDate(date)
102
-
103
- scope.launch {
104
- rookSamsung.getBodySummary(localDate).fold(
105
- {
106
- when (it) {
107
- SHSyncStatusWithData.RecordsNotFound -> {
108
- promise.reject("SamsungBodySummary", "Records Not Found For Date: $date")
109
- }
110
-
111
- is SHSyncStatusWithData.Synced<SHBodySummary> -> {
112
- promise.resolve(gsonBuilder.toJson(it.data))
113
- }
114
- }
115
- },
116
- {
117
- promise.reject(it)
118
- },
119
- )
120
- }
121
- }
122
-
123
- @ReactMethod
124
- fun getSamsungActivityEvents(date: String, promise: Promise) {
125
- val localDate = RookDateTime.stringToLocalDate(date)
126
-
127
- scope.launch {
128
- rookSamsung.getActivityEvents(localDate).fold(
129
- {
130
- when (it) {
131
- SHSyncStatusWithData.RecordsNotFound -> {
132
- promise.reject("SamsungActivityEvents", "Records Not Found For Date: $date")
133
- }
134
-
135
- is SHSyncStatusWithData.Synced<List<SHActivityEvent>> -> {
136
- promise.resolve(gsonBuilder.toJson(it.data))
137
- }
138
- }
139
- },
140
- {
141
- promise.reject(it)
142
- },
143
- )
144
- }
145
- }
146
-
147
- // Health Connect
148
- @ReactMethod
149
- fun getHealthConnectSleepSummary(date: String, promise: Promise) {
150
- val localDate = RookDateTime.stringToLocalDate(date)
151
-
152
- scope.launch {
153
- rookHealthConnect.getSleepSummary(localDate).fold(
154
- {
155
- when (it) {
156
- SyncStatusWithData.RecordsNotFound -> {
157
- promise.reject("HealthConnectSleepSummary", "Records Not Found For Date: $date")
158
- }
159
-
160
- is SyncStatusWithData.Synced<List<HCSleepSummary>> -> {
161
- promise.resolve(gsonBuilder.toJson(it.data))
162
- }
163
- }
164
- },
165
- {
166
- promise.reject(it)
167
- },
168
- )
169
- }
170
- }
171
-
172
- @ReactMethod
173
- fun getHealthConnectPhysicalSummary(date: String, promise: Promise) {
174
- val localDate = RookDateTime.stringToLocalDate(date)
175
-
176
- scope.launch {
177
- rookHealthConnect.getPhysicalSummary(localDate).fold(
178
- {
179
- when (it) {
180
- SyncStatusWithData.RecordsNotFound -> {
181
- promise.reject("HealthConnectPhysicalSummary", "Records Not Found For Date: $date")
182
- }
183
-
184
- is SyncStatusWithData.Synced<HCPhysicalSummary> -> {
185
- promise.resolve(gsonBuilder.toJson(it.data))
186
- }
187
- }
188
- },
189
- {
190
- promise.reject(it)
191
- },
192
- )
193
- }
194
- }
195
-
196
- @ReactMethod
197
- fun getHealthConnectBodySummary(date: String, promise: Promise) {
198
- val localDate = RookDateTime.stringToLocalDate(date)
199
-
200
- scope.launch {
201
- rookHealthConnect.getBodySummary(localDate).fold(
202
- {
203
- when (it) {
204
- SyncStatusWithData.RecordsNotFound -> {
205
- promise.reject("HealthConnectBodySummary", "Records Not Found For Date: $date")
206
- }
207
-
208
- is SyncStatusWithData.Synced<HCBodySummary> -> {
209
- promise.resolve(gsonBuilder.toJson(it.data))
210
- }
211
- }
212
- },
213
- {
214
- promise.reject(it)
215
- },
216
- )
217
- }
218
- }
219
-
220
- @ReactMethod
221
- fun getHealthConnectActivityEvents(date: String, promise: Promise) {
222
- val localDate = RookDateTime.stringToLocalDate(date)
223
-
224
- scope.launch {
225
- rookHealthConnect.getActivityEvents(localDate).fold(
226
- {
227
- when (it) {
228
- SyncStatusWithData.RecordsNotFound -> {
229
- promise.reject("HealthConnectActivityEvents", "Records Not Found For Date: $date")
230
- }
231
-
232
- is SyncStatusWithData.Synced<List<HCActivityEvent>> -> {
233
- promise.resolve(gsonBuilder.toJson(it.data))
234
- }
235
- }
236
- },
237
- {
238
- promise.reject(it)
239
- },
240
- )
241
- }
242
- }
243
-
244
- override fun getName(): String {
245
- return "RookLocalData"
246
- }
247
- }