react-native-rook-sdk 1.3.2 → 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.
- package/android/build.gradle +2 -1
- package/android/src/main/java/com/rooksdk/RookSdkModule.kt +66 -15
- package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +10 -5
- package/android/src/main/java/com/rooksdk/broadcasts/SamsungHealthPermissionsReceiverTransmitter.kt +52 -0
- package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +54 -20
- package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +92 -2
- package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +157 -296
- package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +14 -0
- package/android/src/main/java/com/rooksdk/utils/PermissionConversion.kt +21 -0
- package/android/src/main/java/com/rooksdk/utils/SamsungAvailability.kt +21 -0
- package/android/src/main/java/com/rooksdk/utils/Source.kt +6 -0
- package/android/src/main/java/com/rooksdk/utils/StringToSyncType.kt +25 -0
- package/lib/commonjs/hooks/index.js +7 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useRookAppleHealthVariables.js +1 -0
- package/lib/commonjs/hooks/useRookAppleHealthVariables.js.map +1 -1
- package/lib/commonjs/hooks/useRookConfiguration.js +33 -14
- package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -1
- package/lib/commonjs/hooks/useRookDataSources.js +1 -0
- package/lib/commonjs/hooks/useRookDataSources.js.map +1 -1
- package/lib/commonjs/hooks/useRookPermissions.js +32 -5
- package/lib/commonjs/hooks/useRookPermissions.js.map +1 -1
- package/lib/commonjs/hooks/useRookSync.js +103 -25
- package/lib/commonjs/hooks/useRookSync.js.map +1 -1
- package/lib/commonjs/hooks/useRookVariables.js +69 -0
- package/lib/commonjs/hooks/useRookVariables.js.map +1 -0
- package/lib/commonjs/index.js +17 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/hook/useRookAutoSync.js +25 -2
- package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/commonjs/modules/utils/errors.js +1 -1
- package/lib/commonjs/modules/utils/errors.js.map +1 -1
- package/lib/commonjs/types/SDKSources.js +13 -0
- package/lib/commonjs/types/SDKSources.js.map +1 -0
- package/lib/commonjs/types/SamsungHealthPermissions.js +23 -0
- package/lib/commonjs/types/SamsungHealthPermissions.js.map +1 -0
- package/lib/commonjs/types/SyncTypes.js +4 -0
- package/lib/module/hooks/index.js +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useRookAppleHealthVariables.js +1 -0
- package/lib/module/hooks/useRookAppleHealthVariables.js.map +1 -1
- package/lib/module/hooks/useRookConfiguration.js +33 -15
- package/lib/module/hooks/useRookConfiguration.js.map +1 -1
- package/lib/module/hooks/useRookDataSources.js +1 -0
- package/lib/module/hooks/useRookDataSources.js.map +1 -1
- package/lib/module/hooks/useRookPermissions.js +32 -5
- package/lib/module/hooks/useRookPermissions.js.map +1 -1
- package/lib/module/hooks/useRookSync.js +103 -25
- package/lib/module/hooks/useRookSync.js.map +1 -1
- package/lib/module/hooks/useRookVariables.js +61 -0
- package/lib/module/hooks/useRookVariables.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/hook/useRookAutoSync.js +25 -2
- package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/module/modules/utils/errors.js +1 -1
- package/lib/module/modules/utils/errors.js.map +1 -1
- package/lib/module/types/SDKSources.js +7 -0
- package/lib/module/types/SDKSources.js.map +1 -0
- package/lib/module/types/SamsungHealthPermissions.js +17 -0
- package/lib/module/types/SamsungHealthPermissions.js.map +1 -0
- package/lib/module/types/SyncTypes.js +1 -1
- package/lib/typescript/src/hooks/index.d.ts +1 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts +1 -0
- package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts +8 -4
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookPermissions.d.ts +9 -4
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSync.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookVariables.d.ts +22 -0
- package/lib/typescript/src/hooks/useRookVariables.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
- package/lib/typescript/src/types/SDKSources.d.ts +6 -0
- package/lib/typescript/src/types/SDKSources.d.ts.map +1 -0
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts +16 -0
- package/lib/typescript/src/types/SamsungHealthPermissions.d.ts.map +1 -0
- package/lib/typescript/src/types/SyncTypes.d.ts +15 -1
- package/lib/typescript/src/types/SyncTypes.d.ts.map +1 -1
- package/package.json +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
|
|
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
|
-
|
|
76
|
-
return
|
|
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
|
|
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
|
-
|
|
165
|
-
|
|
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","
|
|
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":[]}
|
|
@@ -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
|
|
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
|
|
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
|
-
|
|
186
|
-
|
|
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","
|
|
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
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
const createResultPayload = result => {
|
|
29
|
+
if (!result) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
status: result.result,
|
|
34
|
+
error: result.error
|
|
33
35
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
43
|
-
(
|
|
44
|
-
|
|
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
|
-
|
|
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
|
|
60
|
-
|
|
61
|
-
|
|
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","
|
|
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":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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":"
|
|
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) {
|