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