react-native-rook-sdk 1.3.1 → 2.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 (85) hide show
  1. package/android/build.gradle +3 -2
  2. package/android/src/main/java/com/rooksdk/RookSdkModule.kt +66 -15
  3. package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +10 -5
  4. package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +52 -0
  5. package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +54 -20
  6. package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +92 -2
  7. package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +157 -296
  8. package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +14 -0
  9. package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +21 -0
  10. package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +21 -0
  11. package/android/src/main/java/com/rooksdk/utils/Source.kt +6 -0
  12. package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +25 -0
  13. package/lib/commonjs/hooks/index.js +7 -0
  14. package/lib/commonjs/hooks/index.js.map +1 -1
  15. package/lib/commonjs/hooks/useRookAppleHealthVariables.js +1 -0
  16. package/lib/commonjs/hooks/useRookAppleHealthVariables.js.map +1 -1
  17. package/lib/commonjs/hooks/useRookConfiguration.js +33 -14
  18. package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -1
  19. package/lib/commonjs/hooks/useRookDataSources.js +1 -0
  20. package/lib/commonjs/hooks/useRookDataSources.js.map +1 -1
  21. package/lib/commonjs/hooks/useRookPermissions.js +32 -5
  22. package/lib/commonjs/hooks/useRookPermissions.js.map +1 -1
  23. package/lib/commonjs/hooks/useRookSync.js +103 -25
  24. package/lib/commonjs/hooks/useRookSync.js.map +1 -1
  25. package/lib/commonjs/hooks/useRookVariables.js +69 -0
  26. package/lib/commonjs/hooks/useRookVariables.js.map +1 -0
  27. package/lib/commonjs/index.js +17 -1
  28. package/lib/commonjs/index.js.map +1 -1
  29. package/lib/commonjs/modules/hook/useRookAutoSync.js +25 -2
  30. package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -1
  31. package/lib/commonjs/modules/utils/errors.js +1 -1
  32. package/lib/commonjs/modules/utils/errors.js.map +1 -1
  33. package/lib/commonjs/types/SDKSources.js +13 -0
  34. package/lib/commonjs/types/SDKSources.js.map +1 -0
  35. package/lib/commonjs/types/SamsungHealthPermissions.js +23 -0
  36. package/lib/commonjs/types/SamsungHealthPermissions.js.map +1 -0
  37. package/lib/commonjs/types/SyncTypes.js +4 -0
  38. package/lib/module/hooks/index.js +1 -0
  39. package/lib/module/hooks/index.js.map +1 -1
  40. package/lib/module/hooks/useRookAppleHealthVariables.js +1 -0
  41. package/lib/module/hooks/useRookAppleHealthVariables.js.map +1 -1
  42. package/lib/module/hooks/useRookConfiguration.js +33 -15
  43. package/lib/module/hooks/useRookConfiguration.js.map +1 -1
  44. package/lib/module/hooks/useRookDataSources.js +1 -0
  45. package/lib/module/hooks/useRookDataSources.js.map +1 -1
  46. package/lib/module/hooks/useRookPermissions.js +32 -5
  47. package/lib/module/hooks/useRookPermissions.js.map +1 -1
  48. package/lib/module/hooks/useRookSync.js +103 -25
  49. package/lib/module/hooks/useRookSync.js.map +1 -1
  50. package/lib/module/hooks/useRookVariables.js +61 -0
  51. package/lib/module/hooks/useRookVariables.js.map +1 -0
  52. package/lib/module/index.js +2 -0
  53. package/lib/module/index.js.map +1 -1
  54. package/lib/module/modules/hook/useRookAutoSync.js +25 -2
  55. package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
  56. package/lib/module/modules/utils/errors.js +1 -1
  57. package/lib/module/modules/utils/errors.js.map +1 -1
  58. package/lib/module/types/SDKSources.js +7 -0
  59. package/lib/module/types/SDKSources.js.map +1 -0
  60. package/lib/module/types/SamsungHealthPermissions.js +17 -0
  61. package/lib/module/types/SamsungHealthPermissions.js.map +1 -0
  62. package/lib/module/types/SyncTypes.js +1 -1
  63. package/lib/typescript/src/hooks/index.d.ts +1 -0
  64. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  65. package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts +1 -0
  66. package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts.map +1 -1
  67. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +8 -4
  68. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
  69. package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +1 -1
  70. package/lib/typescript/src/hooks/useRookPermissions.d.ts +9 -4
  71. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
  72. package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
  73. package/lib/typescript/src/hooks/useRookVariables.d.ts +22 -0
  74. package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -0
  75. package/lib/typescript/src/index.d.ts +2 -0
  76. package/lib/typescript/src/index.d.ts.map +1 -1
  77. package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
  78. package/lib/typescript/src/types/SDKSources.d.ts +6 -0
  79. package/lib/typescript/src/types/SDKSources.d.ts.map +1 -0
  80. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +16 -0
  81. package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -0
  82. package/lib/typescript/src/types/SyncTypes.d.ts +15 -1
  83. package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
  84. package/package.json +1 -1
  85. package/react-native-rook-sdk.podspec +1 -1
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useRookConfiguration = void 0;
7
7
  var _react = require("react");
8
+ var _reactNative = require("react-native");
8
9
  var _RookSyncGateContext = require("../context/RookSyncGateContext");
9
10
  var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"));
10
11
  var _isModuleReady = require("../utils/isModuleReady");
11
12
  var _isRunningOnAndroid = _interopRequireDefault(require("../utils/isRunningOnAndroid"));
12
13
  var _isRunningOniOS = require("../utils/isRunningOniOS");
13
14
  var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
14
- var _reactNative = require("react-native");
15
+ var _packageInfo = require("../utils/packageInfo");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  /**
17
18
  * The `useRookConfiguration` hook provides various asynchronous methods for managing the configuration
@@ -66,14 +67,14 @@ const useRookConfiguration = () => {
66
67
  * The function `clearUserID` clears the user ID and returns a boolean indicating success.
67
68
  * @returns The `clearUserID` function is returning a Promise that resolves to a boolean value.
68
69
  */
69
- const clearUserID = async () => {
70
+ const clearUserID = async sources => {
70
71
  (0, _isModuleReady.isModuleReady)(ready);
71
72
  dispatch({
72
73
  type: 'SET_USER_ID',
73
74
  userID: ''
74
75
  });
75
- const result = await rookSync.current.clearUserID();
76
- return result;
76
+ if (!_packageInfo.packageInfo.isAndroid) return rookSync.current.clearUserID();
77
+ return rookSync.current.clearUserID(sources);
77
78
  };
78
79
 
79
80
  /**
@@ -90,14 +91,14 @@ const useRookConfiguration = () => {
90
91
  * The function `removeUserFromRook` removes a user from a rook services, If you delete the user from the Rook services you have to create the user again with updateUserID and request permissions.
91
92
  * @returns The `removeUserFromRook` function is returning a boolean value.
92
93
  */
93
- const removeUserFromRook = async () => {
94
+ const removeUserFromRook = async sources => {
94
95
  (0, _isModuleReady.isModuleReady)(ready);
95
- const result = await rookSync.current.removeUserFromRook();
96
96
  dispatch({
97
97
  type: 'SET_USER_ID',
98
98
  userID: ''
99
99
  });
100
- return result;
100
+ if (!_packageInfo.packageInfo.isAndroid) return rookSync.current.removeUserFromRook();
101
+ return rookSync.current.removeUserFromRook(sources);
101
102
  };
102
103
 
103
104
  /**
@@ -137,12 +138,9 @@ const useRookConfiguration = () => {
137
138
  };
138
139
 
139
140
  /**
141
+ * This function is intend to support background sync for android 14 and previous
140
142
  * The function `scheduleYesterdaySync` is an asynchronous function that syncs data of the different summaries
141
143
  * and events that Rook has
142
- * @param {DoOnEnd} doOnEnd - The `doOnEnd` parameter indicating how days in the past you want to sync
143
- * oldest: After syncing yesterday data, subsequent syncs should start from the 29th day until the 2nd day (The day before yesterday).
144
- * latest: After syncing yesterday data, subsequent syncs should start from the 2nd day (The day before yesterday) day until the 29th.
145
- * nothing: Only sync yesterday data (Default).
146
144
  * @returns The `scheduleYesterdaySync` function is returning a Promise that resolves to a boolean
147
145
  * value.
148
146
  */
@@ -152,17 +150,38 @@ const useRookConfiguration = () => {
152
150
  (0, _isModuleReady.isModuleReady)(ready);
153
151
  return syncModule.scheduleYesterdaySync();
154
152
  };
153
+ const enableSamsungSync = async () => {
154
+ const syncModule = (0, _getNativeModule.default)(_nativeModules.default.android.SYNC);
155
+ (0, _isRunningOnAndroid.default)();
156
+ (0, _isModuleReady.isModuleReady)(ready);
157
+ return syncModule.enableSamsungSync();
158
+ };
159
+ const isSamsungSyncEnabled = async () => {
160
+ const syncModule = (0, _getNativeModule.default)(_nativeModules.default.android.SYNC);
161
+ (0, _isRunningOnAndroid.default)();
162
+ (0, _isModuleReady.isModuleReady)(ready);
163
+ return syncModule.isSamsungSyncEnabled();
164
+ };
165
+ const disableSamsungSync = async () => {
166
+ const syncModule = (0, _getNativeModule.default)(_nativeModules.default.android.SYNC);
167
+ (0, _isRunningOnAndroid.default)();
168
+ (0, _isModuleReady.isModuleReady)(ready);
169
+ return syncModule.disableSamsungSync();
170
+ };
155
171
  return {
156
172
  ready,
157
173
  clearUserID,
158
174
  disableAppleHealthSync,
159
175
  enableAppleHealthSync,
160
- getUserID,
161
176
  isAppleHealthSyncEnabled,
177
+ getUserID,
178
+ updateUserID,
162
179
  removeUserFromRook,
163
180
  syncUserTimeZone,
164
- updateUserID,
165
- scheduleAndroidYesterdaySync
181
+ scheduleAndroidYesterdaySync,
182
+ enableSamsungSync,
183
+ isSamsungSyncEnabled,
184
+ disableSamsungSync
166
185
  };
167
186
  };
168
187
  exports.useRookConfiguration = useRookConfiguration;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isRunningOnAndroid","_isRunningOniOS","_nativeModules","_reactNative","e","__esModule","default","useRookConfiguration","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","CONFIGURATION","ios","state","ready","dispatch","useRookSyncGateContext","getUserID","isModuleReady","result","current","type","userID","updateUserID","clearUserID","syncUserTimeZone","removeUserFromRook","enableAppleHealthSync","isRunningOniOS","enableSync","disableAppleHealthSync","disableSync","isAppleHealthSyncEnabled","isSyncEnable","scheduleAndroidYesterdaySync","syncModule","SYNC","isRunningOnAndroid","scheduleYesterdaySync","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AAAwC,SAAAG,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EACrB,IAAAC,wBAAe,EACbC,qBAAQ,CAACC,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMC,sBAAa,CAACD,OAAO,CAACE,aAAa;IAClDT,OAAO,EAAEA,CAAA,KAAMQ,sBAAa,CAACE,GAAG,CAACD;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EACD,MAAM;IACJE,KAAK,EAAE;MAAEC;IAAM,CAAC;IAChBC;EACF,CAAC,GAAG,IAAAC,2CAAsB,EAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMC,SAAS,GAAG,MAAAA,CAAA,KAA6B;IAC7C,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAM,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACH,SAAS,CAAC,CAAC;IAEjD,IAAIE,MAAM,EAAEJ,QAAQ,CAAC;MAAEM,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAEH;IAAO,CAAC,CAAC;IAE7D,OAAOA,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMI,YAAY,GAAG,MAAOD,MAAc,IAAuB;IAC/D,IAAAJ,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACG,YAAY,CAACD,MAAM,CAAC;IAEnEP,QAAQ,CAAC;MAAEM,IAAI,EAAE,aAAa;MAAEC;IAAO,CAAC,CAAC;IAEzC,OAAOH,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMK,WAAW,GAAG,MAAAA,CAAA,KAA8B;IAChD,IAAAN,4BAAa,EAACJ,KAAK,CAAC;IAEpBC,QAAQ,CAAC;MAAEM,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAE;IAAG,CAAC,CAAC;IAE7C,MAAMH,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACI,WAAW,CAAC,CAAC;IAC5D,OAAOL,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMM,gBAAgB,GAAG,MAAAA,CAAA,KAA8B;IACrD,IAAAP,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACK,gBAAgB,CAAC,CAAC;IACjE,OAAON,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMO,kBAAkB,GAAG,MAAAA,CAAA,KAA8B;IACvD,IAAAR,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACM,kBAAkB,CAAC,CAAC;IAEnEX,QAAQ,CAAC;MAAEM,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAE;IAAG,CAAC,CAAC;IAE7C,OAAOH,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMQ,qBAAqB,GAAG,MAAAA,CAAA,KAA8B;IAC1D,IAAAC,8BAAc,EAAC,CAAC;IAChB,IAAAV,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACS,UAAU,CAAC,CAAC;IAC3D,OAAOV,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMW,sBAAsB,GAAG,MAAAA,CAAA,KAA8B;IAC3D,IAAAF,8BAAc,EAAC,CAAC;IAChB,IAAAV,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACW,WAAW,CAAC,CAAC;IAC5D,OAAOZ,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMa,wBAAwB,GAAG,MAAAA,CAAA,KAA8B;IAC7D,IAAAJ,8BAAc,EAAC,CAAC;IAChB,IAAAV,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACa,YAAY,CAAC,CAAC;IAC7D,OAAOd,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMe,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;IACjE,MAAMC,UAAU,GAAG,IAAA7B,wBAAe,EAACI,sBAAa,CAACD,OAAO,CAAC2B,IAAI,CAAC;IAE9D,IAAAC,2BAAkB,EAAC,CAAC;IACpB,IAAAnB,4BAAa,EAACJ,KAAK,CAAC;IAEpB,OAAOqB,UAAU,CAACG,qBAAqB,CAAC,CAAC;EAC3C,CAAC;EAED,OAAO;IACLxB,KAAK;IACLU,WAAW;IACXM,sBAAsB;IACtBH,qBAAqB;IACrBV,SAAS;IACTe,wBAAwB;IACxBN,kBAAkB;IAClBD,gBAAgB;IAChBF,YAAY;IACZW;EACF,CAAC;AACH,CAAC;AAACK,OAAA,CAAApC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isRunningOnAndroid","_isRunningOniOS","_nativeModules","_packageInfo","e","__esModule","default","useRookConfiguration","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","CONFIGURATION","ios","state","ready","dispatch","useRookSyncGateContext","getUserID","isModuleReady","result","current","type","userID","updateUserID","clearUserID","sources","packageInfo","isAndroid","syncUserTimeZone","removeUserFromRook","enableAppleHealthSync","isRunningOniOS","enableSync","disableAppleHealthSync","disableSync","isAppleHealthSyncEnabled","isSyncEnable","scheduleAndroidYesterdaySync","syncModule","SYNC","isRunningOnAndroid","scheduleYesterdaySync","enableSamsungSync","isSamsungSyncEnabled","disableSamsungSync","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AAAmD,SAAAI,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAInD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EACrB,IAAAC,wBAAe,EACbC,qBAAQ,CAACC,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMC,sBAAa,CAACD,OAAO,CAACE,aAAa;IAClDT,OAAO,EAAEA,CAAA,KAAMQ,sBAAa,CAACE,GAAG,CAACD;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EACD,MAAM;IACJE,KAAK,EAAE;MAAEC;IAAM,CAAC;IAChBC;EACF,CAAC,GAAG,IAAAC,2CAAsB,EAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMC,SAAS,GAAG,MAAAA,CAAA,KAA6B;IAC7C,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAM,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACH,SAAS,CAAC,CAAC;IAEjD,IAAIE,MAAM,EAAEJ,QAAQ,CAAC;MAAEM,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAEH;IAAO,CAAC,CAAC;IAE7D,OAAOA,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMI,YAAY,GAAG,MAAOD,MAAc,IAAuB;IAC/D,IAAAJ,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACG,YAAY,CAACD,MAAM,CAAC;IAEnEP,QAAQ,CAAC;MAAEM,IAAI,EAAE,aAAa;MAAEC;IAAO,CAAC,CAAC;IAEzC,OAAOH,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMK,WAAW,GAAG,MAAOC,OAAwB,IAAuB;IACxE,IAAAP,4BAAa,EAACJ,KAAK,CAAC;IAEpBC,QAAQ,CAAC;MAAEM,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAE;IAAG,CAAC,CAAC;IAE7C,IAAI,CAACI,wBAAW,CAACC,SAAS,EAAE,OAAOvB,QAAQ,CAACgB,OAAO,CAACI,WAAW,CAAC,CAAC;IAEjE,OAAOpB,QAAQ,CAACgB,OAAO,CAACI,WAAW,CAACC,OAAO,CAAC;EAC9C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMG,gBAAgB,GAAG,MAAAA,CAAA,KAA8B;IACrD,IAAAV,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACQ,gBAAgB,CAAC,CAAC;IACjE,OAAOT,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMU,kBAAkB,GAAG,MACzBJ,OAAwB,IACH;IACrB,IAAAP,4BAAa,EAACJ,KAAK,CAAC;IAEpBC,QAAQ,CAAC;MAAEM,IAAI,EAAE,aAAa;MAAEC,MAAM,EAAE;IAAG,CAAC,CAAC;IAE7C,IAAI,CAACI,wBAAW,CAACC,SAAS,EAAE,OAAOvB,QAAQ,CAACgB,OAAO,CAACS,kBAAkB,CAAC,CAAC;IAExE,OAAOzB,QAAQ,CAACgB,OAAO,CAACS,kBAAkB,CAACJ,OAAO,CAAC;EACrD,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMK,qBAAqB,GAAG,MAAAA,CAAA,KAA8B;IAC1D,IAAAC,8BAAc,EAAC,CAAC;IAChB,IAAAb,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACY,UAAU,CAAC,CAAC;IAC3D,OAAOb,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMc,sBAAsB,GAAG,MAAAA,CAAA,KAA8B;IAC3D,IAAAF,8BAAc,EAAC,CAAC;IAChB,IAAAb,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACc,WAAW,CAAC,CAAC;IAC5D,OAAOf,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMgB,wBAAwB,GAAG,MAAAA,CAAA,KAA8B;IAC7D,IAAAJ,8BAAc,EAAC,CAAC;IAChB,IAAAb,4BAAa,EAACJ,KAAK,CAAC;IAEpB,MAAMK,MAAe,GAAG,MAAMf,QAAQ,CAACgB,OAAO,CAACgB,YAAY,CAAC,CAAC;IAC7D,OAAOjB,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMkB,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;IACjE,MAAMC,UAAU,GAAG,IAAAhC,wBAAe,EAACI,sBAAa,CAACD,OAAO,CAAC8B,IAAI,CAAC;IAE9D,IAAAC,2BAAkB,EAAC,CAAC;IACpB,IAAAtB,4BAAa,EAACJ,KAAK,CAAC;IAEpB,OAAOwB,UAAU,CAACG,qBAAqB,CAAC,CAAC;EAC3C,CAAC;EAED,MAAMC,iBAAiB,GAAG,MAAAA,CAAA,KAA8B;IACtD,MAAMJ,UAAU,GAAG,IAAAhC,wBAAe,EAACI,sBAAa,CAACD,OAAO,CAAC8B,IAAI,CAAC;IAE9D,IAAAC,2BAAkB,EAAC,CAAC;IACpB,IAAAtB,4BAAa,EAACJ,KAAK,CAAC;IAEpB,OAAOwB,UAAU,CAACI,iBAAiB,CAAC,CAAC;EACvC,CAAC;EAED,MAAMC,oBAAoB,GAAG,MAAAA,CAAA,KAA8B;IACzD,MAAML,UAAU,GAAG,IAAAhC,wBAAe,EAACI,sBAAa,CAACD,OAAO,CAAC8B,IAAI,CAAC;IAE9D,IAAAC,2BAAkB,EAAC,CAAC;IACpB,IAAAtB,4BAAa,EAACJ,KAAK,CAAC;IAEpB,OAAOwB,UAAU,CAACK,oBAAoB,CAAC,CAAC;EAC1C,CAAC;EAED,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAA8B;IACvD,MAAMN,UAAU,GAAG,IAAAhC,wBAAe,EAACI,sBAAa,CAACD,OAAO,CAAC8B,IAAI,CAAC;IAE9D,IAAAC,2BAAkB,EAAC,CAAC;IACpB,IAAAtB,4BAAa,EAACJ,KAAK,CAAC;IAEpB,OAAOwB,UAAU,CAACM,kBAAkB,CAAC,CAAC;EACxC,CAAC;EAED,OAAO;IACL9B,KAAK;IACLU,WAAW;IACXS,sBAAsB;IACtBH,qBAAqB;IACrBK,wBAAwB;IACxBlB,SAAS;IACTM,YAAY;IACZM,kBAAkB;IAClBD,gBAAgB;IAChBS,4BAA4B;IAC5BK,iBAAiB;IACjBC,oBAAoB;IACpBC;EACF,CAAC;AACH,CAAC;AAACC,OAAA,CAAA1C,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -39,6 +39,7 @@ const useRookDataSources = () => {
39
39
  };
40
40
 
41
41
  /**
42
+ * @deprecated
42
43
  * Present or show a connections page with the data sources available
43
44
  * @returns An array of DataSource objects
44
45
  */
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_isModuleReady","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_nativeModules","_packageInfo","e","__esModule","default","useRookDataSources","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","SOURCES","state","ready","useRookSyncGateContext","getAvailableDataSources","options","isModuleReady","current","presentDataSourceView","revokeDataSource","type","getAuthorizedDataSources","response","packageInfo","isAndroid","JSON","parse","reduce","acc","source","status","getDataSourceAuthorizer","props","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookDataSources.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_isModuleReady","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_nativeModules","_packageInfo","e","__esModule","default","useRookDataSources","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","SOURCES","state","ready","useRookSyncGateContext","getAvailableDataSources","options","isModuleReady","current","presentDataSourceView","revokeDataSource","type","getAuthorizedDataSources","response","packageInfo","isAndroid","JSON","parse","reduce","acc","source","status","getDataSourceAuthorizer","props","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookDataSources.ts"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@ var _isRunningOnAndroid = _interopRequireDefault(require("../utils/isRunningOnAn
13
13
  var _isRunningOniOS = require("../utils/isRunningOniOS");
14
14
  var _packageInfo = require("../utils/packageInfo");
15
15
  var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
16
+ var _SamsungHealthPermissions = require("../types/SamsungHealthPermissions");
16
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
18
  /**
18
19
  * The `useRookPermissions` hook manages permissions for accessing Apple Health and Health Connect data,
@@ -43,6 +44,11 @@ const useRookPermissions = () => {
43
44
  if (_packageInfo.packageInfo.isAndroid) return rookSync.current.checkAvailability();
44
45
  return new Promise(resolve => resolve('INSTALLED'));
45
46
  };
47
+ const checkSamsungAvailability = () => {
48
+ (0, _isModuleReady.isModuleReady)(ready);
49
+ (0, _isRunningOnAndroid.default)();
50
+ return rookSync.current.checkSamsungAvailability();
51
+ };
46
52
 
47
53
  /**
48
54
  * The function `healthConnectHasPermissions` checks if the app has permissions for health connect data
@@ -60,7 +66,7 @@ const useRookPermissions = () => {
60
66
  * access.
61
67
  * @returns The function `healthConnectHasPermissions` is returning a boolean`.
62
68
  */
63
- const hasHealthConnectPermissionsPartially = () => {
69
+ const healthConnectHasPartialPermissions = () => {
64
70
  (0, _isRunningOnAndroid.default)();
65
71
  (0, _isModuleReady.isModuleReady)(ready);
66
72
  return rookSync.current.checkHealthConnectPermissionsPartially();
@@ -76,6 +82,16 @@ const useRookPermissions = () => {
76
82
  (0, _isModuleReady.isModuleReady)(ready);
77
83
  return rookSync.current.checkPermissionsStatus(param ? param.type : null);
78
84
  };
85
+ const samsungHealthHasPermissions = () => {
86
+ (0, _isRunningOnAndroid.default)();
87
+ (0, _isModuleReady.isModuleReady)(ready);
88
+ return rookSync.current.checkSamsungHealthPermissions();
89
+ };
90
+ const samsungHealthHasPartialPermissions = () => {
91
+ (0, _isRunningOnAndroid.default)();
92
+ (0, _isModuleReady.isModuleReady)(ready);
93
+ return rookSync.current.checkSamsungHealthPermissionsPartially();
94
+ };
79
95
 
80
96
  /**
81
97
  * The function `requestAllAppleHealthPermissions` requests all permissions for apple health
@@ -120,6 +136,13 @@ const useRookPermissions = () => {
120
136
  });
121
137
  return result;
122
138
  };
139
+ const requestSamsungHealthPermissions = async permissions => {
140
+ (0, _isRunningOnAndroid.default)();
141
+ (0, _isModuleReady.isModuleReady)(ready);
142
+ const bridge = permissions || Object.values(_SamsungHealthPermissions.SamsungHealthPermission);
143
+ const result = await rookSync.current.requestSamsungPermissions(bridge);
144
+ return result;
145
+ };
123
146
 
124
147
  /**
125
148
  * The function `openAppleHealthSettings` opens the apple health settings
@@ -156,7 +179,7 @@ const useRookPermissions = () => {
156
179
  * @returns The function `hasBackgroundPermissions()` is returning a boolean indicating the status of
157
180
  * the permissions.
158
181
  */
159
- const hasAndroidBackgroundPermissions = () => {
182
+ const androidHasBackgroundPermissions = () => {
160
183
  (0, _isRunningOnAndroid.default)();
161
184
  (0, _isModuleReady.isModuleReady)(ready);
162
185
  return rookSync.current.hasAndroidBackgroundPermissions();
@@ -179,12 +202,15 @@ const useRookPermissions = () => {
179
202
  };
180
203
  return {
181
204
  ready,
182
- appleHealthHasPermissions,
183
205
  checkAvailability,
184
206
  checkBackgroundReadStatus,
185
- hasAndroidBackgroundPermissions,
186
- hasHealthConnectPermissionsPartially,
207
+ checkSamsungAvailability,
208
+ appleHealthHasPermissions,
209
+ androidHasBackgroundPermissions,
210
+ healthConnectHasPartialPermissions,
187
211
  healthConnectHasPermissions,
212
+ samsungHealthHasPermissions,
213
+ samsungHealthHasPartialPermissions,
188
214
  openAppleHealthSettings,
189
215
  openHealthConnectSettings,
190
216
  requestAllAppleHealthPermissions,
@@ -192,6 +218,7 @@ const useRookPermissions = () => {
192
218
  requestAllPermissions,
193
219
  requestAndroidBackgroundPermissions,
194
220
  requestAppleHealthPermissions,
221
+ requestSamsungHealthPermissions,
195
222
  shouldRequestAndroidBackgroundPermissions
196
223
  };
197
224
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isRunningOnAndroid","_isRunningOniOS","_packageInfo","_nativeModules","e","__esModule","default","useRookPermissions","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","PERMISSIONS","ios","state","ready","dispatch","useRookSyncGateContext","checkAvailability","isModuleReady","packageInfo","isAndroid","current","Promise","resolve","healthConnectHasPermissions","isRunningOnAndroid","checkPermissions","hasHealthConnectPermissionsPartially","checkHealthConnectPermissionsPartially","appleHealthHasPermissions","param","isRunningOniOS","checkPermissionsStatus","type","requestAllAppleHealthPermissions","requestAllPermissions","requestAllHealthConnectPermissions","response","requestAppleHealthPermissions","permissions","result","requestPermissions","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","hasAndroidBackgroundPermissions","shouldRequestAndroidBackgroundPermissions","checkBackgroundReadStatus","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isRunningOnAndroid","_isRunningOniOS","_packageInfo","_nativeModules","_SamsungHealthPermissions","e","__esModule","default","useRookPermissions","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","PERMISSIONS","ios","state","ready","dispatch","useRookSyncGateContext","checkAvailability","isModuleReady","packageInfo","isAndroid","current","Promise","resolve","checkSamsungAvailability","isRunningOnAndroid","healthConnectHasPermissions","checkPermissions","healthConnectHasPartialPermissions","checkHealthConnectPermissionsPartially","appleHealthHasPermissions","param","isRunningOniOS","checkPermissionsStatus","type","samsungHealthHasPermissions","checkSamsungHealthPermissions","samsungHealthHasPartialPermissions","checkSamsungHealthPermissionsPartially","requestAllAppleHealthPermissions","requestAllPermissions","requestAllHealthConnectPermissions","response","requestAppleHealthPermissions","permissions","result","requestPermissions","requestSamsungHealthPermissions","bridge","Object","values","SamsungHealthPermission","requestSamsungPermissions","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","androidHasBackgroundPermissions","hasAndroidBackgroundPermissions","shouldRequestAndroidBackgroundPermissions","checkBackgroundReadStatus","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"
10
10
  var _isModuleReady = require("../utils/isModuleReady");
11
11
  var _isValidDate = require("../utils/isValidDate");
12
12
  var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
13
+ var _SDKSources = require("../types/SDKSources");
13
14
  var _RookSyncGateContext = require("../context/RookSyncGateContext");
14
15
  var _packageInfo = require("../utils/packageInfo");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -24,41 +25,118 @@ const useRookSync = () => {
24
25
  enableLogs
25
26
  }
26
27
  } = (0, _RookSyncGateContext.useRookSyncGateContext)();
27
- const sync = (callback, params) => {
28
- (0, _isModuleReady.isModuleReady)(ready);
29
- const handler = (error, success) => {
30
- let err = null;
31
- if (error) err = new Error(error.domain);
32
- callback(err, success);
28
+ const createResultPayload = result => {
29
+ if (!result) {
30
+ return undefined;
31
+ }
32
+ return {
33
+ status: result.result,
34
+ error: result.error
33
35
  };
34
- if (!params) {
35
- if (_packageInfo.packageInfo.isAndroid) {
36
- rookSync.current.sync(enableLogs, handler);
37
- return;
38
- }
39
- rookSync.current.sync(handler);
36
+ };
37
+ const convertToPromise = (params, toPromise) => {
38
+ return new Promise(resolve => {
39
+ toPromise(...params, (error, result) => {
40
+ resolve({
41
+ error,
42
+ result
43
+ });
44
+ });
45
+ });
46
+ };
47
+ const syncWithOutParams = async callback => {
48
+ if (_packageInfo.packageInfo.isAndroid) {
49
+ const hcResult = await convertToPromise([enableLogs], rookSync.current.sync);
50
+ rookSync.current.shSync(enableLogs, (err, result) => {
51
+ callback({
52
+ healthConnect: {
53
+ status: hcResult.result,
54
+ error: hcResult.error
55
+ },
56
+ samsungHealth: {
57
+ status: result,
58
+ error: err
59
+ }
60
+ });
61
+ });
40
62
  return;
41
63
  }
42
- if (params && params.summary && params.date) {
43
- (0, _isValidDate.isValidDate)(params.date);
44
- rookSync.current.syncByDefinition(params.summary, params.date, handler);
64
+ rookSync.current.sync((error, result) => {
65
+ callback({
66
+ appleHealth: {
67
+ status: result,
68
+ error
69
+ }
70
+ });
71
+ });
72
+ };
73
+ const syncWithParams = async (params, callback) => {
74
+ (0, _isValidDate.isValidDate)(params.date);
75
+ const promisesToRun = [];
76
+ const {
77
+ sources,
78
+ summary,
79
+ date
80
+ } = params;
81
+ const {
82
+ isAndroid
83
+ } = _packageInfo.packageInfo;
84
+ const args = [date];
85
+ let bridgeMethod = 'syncByDate';
86
+ let shBridgeMethod = 'shSyncByDate';
87
+ if (summary) {
88
+ args.unshift(summary);
89
+ bridgeMethod = 'syncByDefinition';
90
+ shBridgeMethod = 'shSyncByDefinition';
91
+ }
92
+ const shouldSyncSO = sources.includes(_SDKSources.SDKDataSource.APPLE_HEALTH) || sources.includes(_SDKSources.SDKDataSource.HEALTH_CONNECT);
93
+ const shouldSyncSH = sources.includes(_SDKSources.SDKDataSource.SAMSUNG_HEALTH) && isAndroid;
94
+ if (shouldSyncSO) {
95
+ promisesToRun.push(convertToPromise(args, rookSync.current[bridgeMethod]));
96
+ }
97
+ if (shouldSyncSH) {
98
+ promisesToRun.push(convertToPromise(args, rookSync.current[shBridgeMethod]));
99
+ }
100
+ const results = await Promise.all(promisesToRun);
101
+ const SOResult = shouldSyncSO ? results.shift() : null;
102
+ const shResult = shouldSyncSH ? results.shift() : null;
103
+ callback({
104
+ appleHealth: !isAndroid ? createResultPayload(SOResult) : undefined,
105
+ healthConnect: isAndroid ? createResultPayload(SOResult) : undefined,
106
+ samsungHealth: createResultPayload(shResult)
107
+ });
108
+ };
109
+ const sync = (callback, params) => {
110
+ (0, _isModuleReady.isModuleReady)(ready);
111
+ if (!params) {
112
+ syncWithOutParams(callback);
45
113
  return;
46
114
  }
47
115
  if (params && params.summary && !params.date) {
48
116
  throw new Error('Date is missing');
49
117
  }
50
- if (params && params.date) {
51
- (0, _isValidDate.isValidDate)(params.date);
52
- rookSync.current.syncByDate(params.date, handler);
53
- return;
54
- }
55
- throw new Error('Invalid options');
118
+ syncWithParams(params, callback);
56
119
  };
57
- const syncEvents = params => {
120
+ const syncEvents = async params => {
58
121
  (0, _isModuleReady.isModuleReady)(ready);
59
- const notAvailableOniOS = ['hydration', 'nutrition'];
60
- if (notAvailableOniOS.includes(params.event)) throw new Error(`${params.event} is not available on iOS`);
61
- return rookSync.current.syncEvent(params.date, params.event);
122
+ const {
123
+ date,
124
+ event,
125
+ sources
126
+ } = params;
127
+ const {
128
+ isAndroid
129
+ } = _packageInfo.packageInfo;
130
+ const promisesToRun = [];
131
+ const shouldSyncSO = sources.includes(_SDKSources.SDKDataSource.APPLE_HEALTH) || sources.includes(_SDKSources.SDKDataSource.HEALTH_CONNECT);
132
+ const shouldSyncSH = sources.includes(_SDKSources.SDKDataSource.SAMSUNG_HEALTH) && isAndroid;
133
+ if (shouldSyncSO) {
134
+ if (['hydration', 'nutrition'].includes(params.event) && !_packageInfo.packageInfo.isAndroid) throw new Error(`${params.event} is not available on iOS`);
135
+ promisesToRun.push(rookSync.current.syncEvent(date, event));
136
+ }
137
+ if (shouldSyncSH) promisesToRun.push(rookSync.current.shSyncEvent(date, event));
138
+ await Promise.all(promisesToRun);
139
+ return true;
62
140
  };
63
141
  return {
64
142
  sync,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_getNativeModule","_interopRequireDefault","_isModuleReady","_isValidDate","_nativeModules","_RookSyncGateContext","_packageInfo","e","__esModule","default","useRookSync","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","state","ready","enableLogs","useRookSyncGateContext","sync","callback","params","isModuleReady","handler","error","success","err","Error","domain","packageInfo","isAndroid","current","summary","date","isValidDate","syncByDefinition","syncByDate","syncEvents","notAvailableOniOS","includes","event","syncEvent","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookSync.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_getNativeModule","_interopRequireDefault","_isModuleReady","_isValidDate","_nativeModules","_SDKSources","_RookSyncGateContext","_packageInfo","e","__esModule","default","useRookSync","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","state","ready","enableLogs","useRookSyncGateContext","createResultPayload","result","undefined","status","error","convertToPromise","params","toPromise","Promise","resolve","syncWithOutParams","callback","packageInfo","isAndroid","hcResult","current","sync","shSync","err","healthConnect","samsungHealth","appleHealth","syncWithParams","isValidDate","date","promisesToRun","sources","summary","args","bridgeMethod","shBridgeMethod","unshift","shouldSyncSO","includes","SDKDataSource","APPLE_HEALTH","HEALTH_CONNECT","shouldSyncSH","SAMSUNG_HEALTH","push","results","all","SOResult","shift","shResult","isModuleReady","Error","syncEvents","event","syncEvent","shSyncEvent","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookSync.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRookVariables = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _RookSyncGateContext = require("../context/RookSyncGateContext");
10
+ var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"));
11
+ var _isModuleReady = require("../utils/isModuleReady");
12
+ var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
13
+ var _packageInfo = require("../utils/packageInfo");
14
+ var _SDKSources = require("../types/SDKSources");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ /**
17
+ * The `useRookVariables` hook returns an object with a `ready` boolean and an
18
+ * asynchronous function `getTodaySteps` that retrieves the number of steps taken today.
19
+ * @returns The `useRookVariable` hook is returning an object with two properties:
20
+ * 1. `ready`: This property is coming from the `useRookSyncGateContext` hook and represents the state
21
+ * of readiness.
22
+ * 2. `getTodaySteps`: This property is a function that retrieves the number of steps taken today
23
+ * asynchronously and returns a Promise<string> representing the number of steps taken today.
24
+ * 3. `getTodayCalories`: This property is a function that retrieves the number of calories burned today
25
+ * asynchronously and returns a Promise<string> representing the number of calories burned today.
26
+ */
27
+ const useRookVariables = () => {
28
+ const rookSync = (0, _react.useRef)((0, _getNativeModule.default)(_reactNative.Platform.select({
29
+ android: () => _nativeModules.default.android.SYNC,
30
+ default: () => _nativeModules.default.ios.SYNC
31
+ })()));
32
+ const {
33
+ state: {
34
+ ready
35
+ }
36
+ } = (0, _RookSyncGateContext.useRookSyncGateContext)();
37
+
38
+ /**
39
+ * The function `getTodaySteps` retrieves the number of steps taken today asynchronously.
40
+ * @returns The function `getTodaySteps` is returning a string representing the number of steps taken today.
41
+ */
42
+ const getTodaySteps = async source => {
43
+ (0, _isModuleReady.isModuleReady)(ready);
44
+ if (_packageInfo.packageInfo.isAndroid && source === _SDKSources.SDKDataSource.HEALTH_CONNECT) {
45
+ return rookSync.current.syncTodayHealthConnectStepsCount();
46
+ }
47
+ if (_packageInfo.packageInfo.isAndroid && source === _SDKSources.SDKDataSource.SAMSUNG_HEALTH) {
48
+ return rookSync.current.syncTodaySamsungHealthStepsCount();
49
+ }
50
+ return rookSync.current.getTodaySteps();
51
+ };
52
+
53
+ /**
54
+ * The function `syncTodayCaloriesCount` retrieves the number of calories burned today asynchronously as string
55
+ * @returns The function `syncTodayCaloriesCount` is returning the result of calling
56
+ */
57
+ const getTodayCalories = async source => {
58
+ (0, _isModuleReady.isModuleReady)(ready);
59
+ if ([_SDKSources.SDKDataSource.HEALTH_CONNECT, _SDKSources.SDKDataSource.APPLE_HEALTH].includes(source)) return rookSync.current.syncTodayCaloriesCount();
60
+ return rookSync.current.syncSHTodayCaloriesCount();
61
+ };
62
+ return {
63
+ ready,
64
+ getTodaySteps,
65
+ getTodayCalories
66
+ };
67
+ };
68
+ exports.useRookVariables = useRookVariables;
69
+ //# sourceMappingURL=useRookVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_nativeModules","_packageInfo","_SDKSources","e","__esModule","default","useRookVariables","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","state","ready","useRookSyncGateContext","getTodaySteps","source","isModuleReady","packageInfo","isAndroid","SDKDataSource","HEALTH_CONNECT","current","syncTodayHealthConnectStepsCount","SAMSUNG_HEALTH","syncTodaySamsungHealthStepsCount","getTodayCalories","APPLE_HEALTH","includes","syncTodayCaloriesCount","syncSHTodayCaloriesCount","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookVariables.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAAoD,SAAAI,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EACrB,IAAAC,wBAAe,EACbC,qBAAQ,CAACC,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMC,sBAAa,CAACD,OAAO,CAACE,IAAI;IACzCT,OAAO,EAAEA,CAAA,KAAMQ,sBAAa,CAACE,GAAG,CAACD;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EAED,MAAM;IACJE,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAG,IAAAC,2CAAsB,EAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMC,aAAa,GAAG,MAAOC,MAAqB,IAAsB;IACtE,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IAEpB,IAAIK,wBAAW,CAACC,SAAS,IAAIH,MAAM,KAAKI,yBAAa,CAACC,cAAc,EAAE;MACpE,OAAOlB,QAAQ,CAACmB,OAAO,CAACC,gCAAgC,CAAC,CAAC;IAC5D;IAEA,IAAIL,wBAAW,CAACC,SAAS,IAAIH,MAAM,KAAKI,yBAAa,CAACI,cAAc,EAAE;MACpE,OAAOrB,QAAQ,CAACmB,OAAO,CAACG,gCAAgC,CAAC,CAAC;IAC5D;IAEA,OAAOtB,QAAQ,CAACmB,OAAO,CAACP,aAAa,CAAC,CAAC;EACzC,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMW,gBAAgB,GAAG,MAAOV,MAAqB,IAAwB;IAC3E,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IAEpB,IACE,CAACO,yBAAa,CAACC,cAAc,EAAED,yBAAa,CAACO,YAAY,CAAC,CAACC,QAAQ,CACjEZ,MACF,CAAC,EAED,OAAOb,QAAQ,CAACmB,OAAO,CAACO,sBAAsB,CAAC,CAAC;IAElD,OAAO1B,QAAQ,CAACmB,OAAO,CAACQ,wBAAwB,CAAC,CAAC;EACpD,CAAC;EAED,OAAO;IACLjB,KAAK;IACLE,aAAa;IACbW;EACF,CAAC;AACH,CAAC;AAACK,OAAA,CAAA7B,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -4,8 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- getRookModule: true
7
+ getRookModule: true,
8
+ SDKDataSource: true,
9
+ SamsungHealthPermission: true
8
10
  };
11
+ Object.defineProperty(exports, "SDKDataSource", {
12
+ enumerable: true,
13
+ get: function () {
14
+ return _SDKSources.SDKDataSource;
15
+ }
16
+ });
17
+ Object.defineProperty(exports, "SamsungHealthPermission", {
18
+ enumerable: true,
19
+ get: function () {
20
+ return _SamsungHealthPermissions.SamsungHealthPermission;
21
+ }
22
+ });
9
23
  Object.defineProperty(exports, "getRookModule", {
10
24
  enumerable: true,
11
25
  get: function () {
@@ -37,4 +51,6 @@ Object.keys(_hooks).forEach(function (key) {
37
51
  }
38
52
  });
39
53
  });
54
+ var _SDKSources = require("./types/SDKSources");
55
+ var _SamsungHealthPermissions = require("./types/SamsungHealthPermissions");
40
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_getRookModule","require","_context","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_hooks"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,QAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,QAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,QAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,MAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,MAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_getRookModule","require","_context","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_hooks","_SDKSources","_SamsungHealthPermissions"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,QAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,QAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,QAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,MAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,MAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,WAAA,GAAAf,OAAA;AACA,IAAAgB,yBAAA,GAAAhB,OAAA","ignoreList":[]}
@@ -130,6 +130,23 @@ const useRookAutoSync = ({
130
130
  return false;
131
131
  }
132
132
  };
133
+ const tryToStartSamsungHealthSync = async () => {
134
+ try {
135
+ const rookPermissionsModule = (0, _getNativeModule.default)(_nativeModules.default.android.PERMISSIONS);
136
+ const isAvailable = await rookPermissionsModule.checkSamsungAvailability();
137
+ if (isAvailable !== 'INSTALLED') return false;
138
+ const rookSyncModule = (0, _getNativeModule.default)(_nativeModules.default.android.SYNC);
139
+ await rookSyncModule.enableSamsungSync();
140
+ return true;
141
+ } catch (error) {
142
+ sendMessageToBroadcast({
143
+ type: 'ROOK_BACKGROUND_ENABLED',
144
+ value: false,
145
+ message: error.message
146
+ });
147
+ return false;
148
+ }
149
+ };
133
150
 
134
151
  /**
135
152
  * The function `startAndroidBackgroundSync` in TypeScript initiates background synchronization for an
@@ -148,16 +165,22 @@ const useRookAutoSync = ({
148
165
  return;
149
166
  }
150
167
  try {
168
+ const enabledSources = [];
151
169
  const isValid = await isValidUser();
152
170
  if (!isValid) return;
171
+ const isSamsungEnabled = await tryToStartSamsungHealthSync();
153
172
  const isEnabled = await tryToStartBackgroundSync();
173
+ if (isSamsungEnabled) enabledSources.push('Samsung Health');
174
+ if (isEnabled) enabledSources.push('Health Connect');
154
175
  if (!isEnabled) {
155
176
  const isForegroundEnabled = await tryToStartForegroundSync();
156
- if (!isForegroundEnabled) throw new Error("We couldn't start background sync");
177
+ if (!isForegroundEnabled && !isSamsungEnabled) throw new Error("We couldn't start background sync");
178
+ if (isForegroundEnabled) enabledSources.push('Foreground Service');
157
179
  }
158
180
  sendMessageToBroadcast({
159
181
  type: 'ROOK_BACKGROUND_ENABLED',
160
- value: true
182
+ value: true,
183
+ message: `via: ${enabledSources.join(', ')}`
161
184
  });
162
185
  if (enableLogs) console.log('ROOK - Background enabled successfully');
163
186
  } catch (error) {