react-native-rook-sdk 2.1.1 → 4.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 (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 +4 -5
  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 +96 -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 +282 -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,309 +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.RookPermissionsManager
9
- import com.rookmotion.rook.sdk.domain.enums.BackgroundReadStatus
10
- import com.rookmotion.rook.sdk.domain.enums.HealthConnectAvailability
11
- import com.rookmotion.rook.sdk.domain.enums.RequestPermissionsStatus
12
- import com.rooksdk.utils.PermissionConversion
13
- import com.rooksdk.utils.SamsungAvailability
14
- import io.tryrook.sdk.samsung.RookSamsung
15
- import io.tryrook.sdk.samsung.domain.enums.SHRequestPermissionsStatus
16
- import io.tryrook.sdk.samsung.domain.enums.SamsungHealthAvailability
17
- import io.tryrook.sdk.samsung.domain.enums.SamsungHealthPermission
18
- import kotlinx.coroutines.CoroutineScope
19
- import kotlinx.coroutines.Dispatchers
20
- import kotlinx.coroutines.SupervisorJob
21
- import kotlinx.coroutines.launch
22
-
23
- class RookPermissionsModule(reactContext: ReactApplicationContext, private val rookSamsung: RookSamsung):
24
- ReactContextBaseJavaModule(reactContext) {
25
-
26
- private val rookPermissionsManager: RookPermissionsManager by lazy {
27
- RookPermissionsManager(reactContext)
28
- }
29
-
30
- private val scope: CoroutineScope by lazy {
31
- CoroutineScope(SupervisorJob() + Dispatchers.Main)
32
- }
33
-
34
- @ReactMethod
35
- fun checkSamsungAvailability(promise: Promise) {
36
- scope.launch {
37
- rookSamsung.checkSamsungHealthAvailability().fold(
38
- { availability ->
39
- when (availability) {
40
- SamsungHealthAvailability.INSTALLED -> promise.resolve("INSTALLED")
41
- SamsungHealthAvailability.NOT_INSTALLED -> promise.resolve("NOT_INSTALLED")
42
- SamsungHealthAvailability.OUTDATED -> promise.resolve("OUTDATED")
43
- SamsungHealthAvailability.DISABLED -> promise.resolve("DISABLED")
44
- SamsungHealthAvailability.NOT_READY -> promise.resolve("NOT_READY")
45
- }
46
- },
47
- {
48
- promise.reject(it)
49
- },
50
- )
51
-
52
- }
53
- }
54
-
55
- /**
56
- * Checks the availability of Health Connect on the device (whether it is installed, not installed, or not supported).
57
- * @param promise A promise object to handle the result (resolved with the availability status or rejected on failure).
58
- */
59
- @ReactMethod
60
- fun checkAvailability(promise: Promise) {
61
- val r = rookPermissionsManager.checkHealthConnectAvailability()
62
-
63
- when(r) {
64
- HealthConnectAvailability.INSTALLED -> promise.resolve("INSTALLED")
65
- HealthConnectAvailability.NOT_INSTALLED -> promise.resolve("NOT_INSTALLED")
66
- HealthConnectAvailability.NOT_SUPPORTED -> promise.resolve("NOT_SUPPORTED")
67
- }
68
- }
69
-
70
- /**
71
- * Opens the Health Connect settings page on the device for the user to manage permissions.
72
- * @param promise A promise object to handle the result (resolved on success, rejected on failure).
73
- */
74
- @ReactMethod
75
- fun openHealthConnectSettings(promise: Promise) {
76
- scope.launch {
77
-
78
- val result = rookPermissionsManager.openHealthConnectSettings()
79
-
80
- result.fold({
81
- promise.resolve(true)
82
- },{
83
- promise.reject(it)
84
- })
85
-
86
- }
87
- }
88
-
89
- @ReactMethod
90
- fun checkSamsungHealthPermissions(promise: Promise){
91
- scope.launch {
92
- if (!SamsungAvailability.isSamsungAvailable(rookSamsung)){
93
- promise.reject(Throwable("Samsung health is not available"))
94
- return@launch
95
- }
96
-
97
- rookSamsung.checkSamsungHealthPermissions(SamsungHealthPermission.entries.toSet()).fold(
98
- { hasAllPermissions ->
99
- promise.resolve(hasAllPermissions)
100
- },
101
- {
102
- promise.reject(it)
103
- }
104
- )
105
- }
106
- }
107
-
108
- @ReactMethod
109
- fun checkSamsungHealthPermissionsPartially(promise: Promise){
110
- scope.launch {
111
- if (!SamsungAvailability.isSamsungAvailable(rookSamsung)){
112
- promise.reject(Throwable("Samsung health is not available"))
113
- return@launch
114
- }
115
-
116
- rookSamsung.checkSamsungHealthPermissionsPartially(SamsungHealthPermission.entries.toSet()).fold(
117
- { hasAllPermissions ->
118
- promise.resolve(hasAllPermissions)
119
- },
120
- {
121
- promise.reject(it)
122
- }
123
- )
124
- }
125
- }
126
-
127
- /**
128
- * Checks the current permissions granted by Health Conect to ensure the application has the necessary access.
129
- * @param promise A promise object to handle the result (resolved with permission status or rejected on failure).
130
- */
131
- @ReactMethod
132
- fun checkPermissions(promise: Promise) {
133
- scope.launch {
134
- val result = rookPermissionsManager.checkHealthConnectPermissions()
135
-
136
- result.fold({
137
- promise.resolve(it)
138
- }, {
139
- promise.reject(it)
140
- })
141
- }
142
- }
143
-
144
- @ReactMethod
145
- fun checkHealthConnectPermissionsPartially(promise: Promise) {
146
- scope.launch {
147
- val result = rookPermissionsManager.checkHealthConnectPermissionsPartially()
148
-
149
- result.fold({
150
- promise.resolve(it)
151
- }, {
152
- promise.reject(it)
153
- })
154
- }
155
- }
156
-
157
- /**
158
- * Requests Health Connect permissions from the user if they are not already granted.
159
- * @param promise A promise object to handle the result (resolved with the permission status or rejected on failure).
160
- */
161
- @ReactMethod
162
- fun requestAllPermissions(promise: Promise) {
163
- scope.launch {
164
- rookPermissionsManager.requestHealthConnectPermissions().fold({
165
- when(it) {
166
- RequestPermissionsStatus.REQUEST_SENT -> {
167
- promise.resolve("REQUEST_SENT")
168
- }
169
- RequestPermissionsStatus .ALREADY_GRANTED -> {
170
- promise.resolve("ALREADY_GRANTED")
171
- }
172
- }
173
- }, {
174
- promise.reject(it)
175
- })
176
- }
177
- }
178
-
179
- @ReactMethod
180
- fun requestSamsungPermissions(permissions: ReadableArray, promise: Promise) {
181
- val shPermissions = PermissionConversion.parseSamsungPermissions(permissions)
182
-
183
- scope.launch {
184
- if (!SamsungAvailability.isSamsungAvailable(rookSamsung)) {
185
- promise.reject(Throwable("Samsung Health is not available"))
186
- return@launch
187
- }
188
-
189
- rookSamsung.requestSamsungHealthPermissions(shPermissions).fold(
190
- {
191
- when (it) {
192
- SHRequestPermissionsStatus.ALREADY_GRANTED -> promise.resolve("ALREADY_GRANTED")
193
- SHRequestPermissionsStatus.REQUEST_SENT -> promise.resolve("REQUEST_SENT")
194
- }
195
- },
196
- {
197
- promise.reject(it)
198
- }
199
- )
200
- }
201
- }
202
-
203
- /**
204
- * Checks if the SDK has permissions to use background permissions
205
- * */
206
- @ReactMethod
207
- fun hasAndroidBackgroundPermissions(promise: Promise) {
208
- try {
209
- val result = rookPermissionsManager.checkAndroidPermissions()
210
- promise.resolve(result)
211
- }
212
- catch (e: Exception) {
213
- promise.reject(e)
214
- }
215
- }
216
-
217
- /**
218
- * Requests Android permissions for step counting if they are not already granted.
219
- * @param promise A promise object to handle the result (resolved with the permission status or rejected on failure).
220
- */
221
- @ReactMethod
222
- fun requestAndroidBackgroundPermissions(promise: Promise) {
223
- try {
224
- val response = rookPermissionsManager.requestAndroidPermissions()
225
-
226
- if (response == RequestPermissionsStatus.REQUEST_SENT)
227
- promise.resolve("REQUEST_SENT")
228
- else promise.resolve("ALREADY_GRANTED")
229
- }
230
- catch (e: Exception) {
231
- promise.reject(e)
232
- }
233
- }
234
-
235
- /**
236
- * Check if the SDK should request permissions to use android services
237
- * to show an sticky notification
238
- * */
239
- @ReactMethod
240
- fun shouldRequestAndroidBackgroundPermissions(promise: Promise) {
241
- val activity = reactApplicationContext.currentActivity
242
-
243
- if (activity == null) {
244
- promise.reject(Exception("Error trying to request permissions"))
245
- return
246
- }
247
-
248
- try {
249
- val r = RookPermissionsManager.shouldRequestAndroidPermissions(activity)
250
- promise.resolve(r)
251
- }
252
- catch (e: Exception) {
253
- promise.reject(e)
254
- }
255
- }
256
-
257
- @ReactMethod
258
- fun revokeHealthConnectPermissions(promise: Promise) {
259
- scope.launch {
260
- rookPermissionsManager.revokeHealthConnectPermissions()
261
- .fold({
262
- promise.resolve(true)
263
- }, {
264
- promise.reject(it)
265
- })
266
- }
267
- }
268
-
269
- /**
270
- * Checks the status of background read permissions using RookPermissionsManager.
271
- *
272
- * This function determines whether the app has permission to read health data in the background.
273
- * The result is returned as a promise to React Native.
274
- *
275
- * Possible results:
276
- * - "UNAVAILABLE": Background read is not available on this device.
277
- * - "PERMISSION_NOT_GRANTED": The background read permission has not been granted.
278
- * - "PERMISSION_GRANTED": The background read permission has been granted.
279
- *
280
- * If an error occurs while checking the permission status, the promise will be rejected.
281
- *
282
- * @param promise A React Native promise that resolves with the permission status or rejects with an error.
283
- */
284
- @ReactMethod
285
- fun checkBackgroundReadStatus(promise: Promise) {
286
- scope.launch {
287
- rookPermissionsManager.checkBackgroundReadStatus().fold(
288
- { status ->
289
- when (status) {
290
- BackgroundReadStatus.UNAVAILABLE -> promise.resolve("UNAVAILABLE")
291
- BackgroundReadStatus.PERMISSION_NOT_GRANTED -> promise.resolve("PERMISSION_NOT_GRANTED")
292
- BackgroundReadStatus.PERMISSION_GRANTED -> promise.resolve("PERMISSION_GRANTED")
293
- }
294
- },
295
- { throwable ->
296
- promise.reject(throwable)
297
- }
298
- )
299
- }
300
- }
301
-
302
- companion object {
303
- const val NAME = "RookPermissionsModule"
304
- }
305
-
306
- override fun getName(): String {
307
- return NAME
308
- }
309
- }
@@ -1,105 +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.RookStepsManager
8
- import kotlinx.coroutines.CoroutineScope
9
- import kotlinx.coroutines.Dispatchers
10
- import kotlinx.coroutines.SupervisorJob
11
- import kotlinx.coroutines.cancel
12
- import kotlinx.coroutines.launch
13
-
14
- class RookStepsModule(
15
- reactContext: ReactApplicationContext
16
- ): ReactContextBaseJavaModule(reactContext) {
17
-
18
- private val scope: CoroutineScope by lazy {
19
- CoroutineScope(SupervisorJob() + Dispatchers.Main)
20
- }
21
-
22
- private val rookStepsManager: RookStepsManager by lazy {
23
- RookStepsManager(reactApplicationContext)
24
- }
25
-
26
- /**
27
- * Checks if step count data is available on the device.
28
- * @param promise A promise object to handle the result (resolved with true/false).
29
- */
30
- @ReactMethod
31
- fun isStepsAvailable(promise: Promise) {
32
- promise.resolve(rookStepsManager.isAvailable())
33
- }
34
-
35
- /**
36
- * Enables background step counting on Android devices, allowing the app to track steps continuously.
37
- * @param promise A promise object to handle the result (resolved on success, rejected on failure).
38
- */
39
- @ReactMethod
40
- fun enableBackgroundAndroidSteps(promise: Promise) {
41
- rookStepsManager.enableBackgroundAndroidSteps().fold({
42
- promise.resolve(true)
43
- }, {
44
- promise.reject(it)
45
- })
46
- }
47
-
48
- /**
49
- * Disables background step counting on Android devices.
50
- * @param promise A promise object to handle the result (resolved on success, rejected on failure).
51
- */
52
- @ReactMethod
53
- fun disableBackgroundAndroidSteps(promise: Promise) {
54
- rookStepsManager
55
- .disableBackgroundAndroidSteps()
56
- .fold({
57
- scope.cancel()
58
- promise.resolve(true)
59
- }, {
60
- promise.reject(it)
61
- })
62
- }
63
-
64
- /**
65
- * Checks whether background step tracking on Android is currently active.
66
- * This method queries the Rook SDK to determine if background step counting
67
- * is enabled and active on the device.
68
- *
69
- * @param promise A promise object that resolves with a boolean value:
70
- * - true if background step tracking is active,
71
- * - false otherwise.
72
- */
73
- @ReactMethod
74
- fun isBackgroundAndroidStepsActive(promise: Promise) {
75
- scope.launch {
76
- val response = rookStepsManager.isBackgroundAndroidStepsActive()
77
- promise.resolve(response)
78
- }
79
- }
80
-
81
- /**
82
- * Synchronizes the step count for the current day
83
- * This method queries the Rook SDK to retrieve the number of steps counted today
84
- * from the Android platform and returns the result to the React Native layer.
85
- *
86
- * @param promise A promise object that resolves with the step count as a string
87
- * or rejects with an error if the synchronization fails.
88
- */
89
- @ReactMethod
90
- fun syncTodayAndroidStepsCount(promise: Promise) {
91
- scope.launch {
92
- rookStepsManager
93
- .syncTodayAndroidStepsCount()
94
- .fold({
95
- promise.resolve(it.toString())
96
- }, {
97
- promise.reject(it)
98
- })
99
- }
100
- }
101
-
102
- override fun getName(): String {
103
- return "RookStepsModule"
104
- }
105
- }