react-native-rook-sdk 0.4.1 → 0.6.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 +1 -1
- package/android/src/main/java/com/rooksdk/RookSdkModule.kt +15 -6
- package/ios/RookSdk.mm +23 -16
- package/lib/commonjs/context/RookSyncGateProvider.js +14 -3
- package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -1
- package/lib/commonjs/context/RookSyncGateReducer.js +5 -0
- package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -1
- package/lib/commonjs/context/RookSyncGateTypes.js +4 -0
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +0 -12
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/commonjs/hooks/useRookConfiguration.js +2 -2
- package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -1
- package/lib/commonjs/hooks/useRookDataSources.js +4 -4
- package/lib/commonjs/hooks/useRookDataSources.js.map +1 -1
- package/lib/commonjs/hooks/useRookPermissions.js +26 -6
- package/lib/commonjs/hooks/useRookPermissions.js.map +1 -1
- package/lib/commonjs/hooks/useRookSummaries.js +0 -11
- package/lib/commonjs/hooks/useRookSummaries.js.map +1 -1
- package/lib/commonjs/modules/hook/useRookAutoSync.js +90 -0
- package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -0
- package/lib/commonjs/modules/utils/errors.js +12 -0
- package/lib/commonjs/modules/utils/errors.js.map +1 -0
- package/lib/commonjs/utils/credentials.js +1 -1
- package/lib/commonjs/utils/index.js +13 -0
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/pollingPermissions.js +39 -0
- package/lib/commonjs/utils/pollingPermissions.js.map +1 -0
- package/lib/module/context/RookSyncGateProvider.js +14 -3
- package/lib/module/context/RookSyncGateProvider.js.map +1 -1
- package/lib/module/context/RookSyncGateReducer.js +5 -0
- package/lib/module/context/RookSyncGateReducer.js.map +1 -1
- package/lib/module/context/RookSyncGateTypes.js +1 -1
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js +1 -13
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/module/hooks/useRookConfiguration.js +2 -2
- package/lib/module/hooks/useRookConfiguration.js.map +1 -1
- package/lib/module/hooks/useRookDataSources.js +4 -4
- package/lib/module/hooks/useRookDataSources.js.map +1 -1
- package/lib/module/hooks/useRookPermissions.js +27 -7
- package/lib/module/hooks/useRookPermissions.js.map +1 -1
- package/lib/module/hooks/useRookSummaries.js +0 -11
- package/lib/module/hooks/useRookSummaries.js.map +1 -1
- package/lib/module/modules/hook/useRookAutoSync.js +82 -0
- package/lib/module/modules/hook/useRookAutoSync.js.map +1 -0
- package/lib/module/modules/utils/errors.js +6 -0
- package/lib/module/modules/utils/errors.js.map +1 -0
- package/lib/module/utils/credentials.js +1 -1
- package/lib/module/utils/index.js +1 -0
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/pollingPermissions.js +31 -0
- package/lib/module/utils/pollingPermissions.js.map +1 -0
- package/lib/typescript/src/context/RookSyncGateProvider.d.ts +2 -9
- package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateTypes.d.ts +13 -1
- package/lib/typescript/src/context/RookSyncGateTypes.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookDataSources.d.ts +6 -2
- package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSummaries.d.ts +0 -1
- package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +1 -1
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts +10 -0
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -0
- package/lib/typescript/src/modules/utils/errors.d.ts +6 -0
- package/lib/typescript/src/modules/utils/errors.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +1 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/pollingPermissions.d.ts +3 -0
- package/lib/typescript/src/utils/pollingPermissions.d.ts.map +1 -0
- package/package.json +1 -1
- package/react-native-rook-sdk.podspec +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_credentials","require","_isRunningOnAndroid","_interopRequireDefault","_getRookModule","_isModuleReady","_isRunningOniOS","_isValidDate","_packageInfo","obj","__esModule","default"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_credentials","require","_isRunningOnAndroid","_interopRequireDefault","_getRookModule","_isModuleReady","_isRunningOniOS","_isValidDate","_packageInfo","_pollingPermissions","obj","__esModule","default"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAR,OAAA;AAG8B,SAAAE,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pollingForHCPermissions = exports.pollingForAndroidPermissions = void 0;
|
|
7
|
+
var _getRookModule = require("./getRookModule");
|
|
8
|
+
const timeout = new Promise((_, reject) => setTimeout(() => reject(new Error('Polling timed out after 1 minute')), 60000));
|
|
9
|
+
const pollBackgroundPermissions = async () => {
|
|
10
|
+
const rookSync = (0, _getRookModule.getRookModule)();
|
|
11
|
+
let hasEnabledBackground = false;
|
|
12
|
+
while (!hasEnabledBackground) {
|
|
13
|
+
hasEnabledBackground = await rookSync.hasAndroidBackgroundPermissions();
|
|
14
|
+
if (!hasEnabledBackground) {
|
|
15
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
};
|
|
20
|
+
const pollHCPermissions = async () => {
|
|
21
|
+
const rookSync = (0, _getRookModule.getRookModule)();
|
|
22
|
+
let hasEnabledBackground = false;
|
|
23
|
+
while (!hasEnabledBackground) {
|
|
24
|
+
hasEnabledBackground = await rookSync.checkPermissions();
|
|
25
|
+
if (!hasEnabledBackground) {
|
|
26
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return true;
|
|
30
|
+
};
|
|
31
|
+
const pollingForAndroidPermissions = () => {
|
|
32
|
+
return Promise.race([pollBackgroundPermissions(), timeout]);
|
|
33
|
+
};
|
|
34
|
+
exports.pollingForAndroidPermissions = pollingForAndroidPermissions;
|
|
35
|
+
const pollingForHCPermissions = () => {
|
|
36
|
+
return Promise.race([pollHCPermissions(), timeout]);
|
|
37
|
+
};
|
|
38
|
+
exports.pollingForHCPermissions = pollingForHCPermissions;
|
|
39
|
+
//# sourceMappingURL=pollingPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_getRookModule","require","timeout","Promise","_","reject","setTimeout","Error","pollBackgroundPermissions","rookSync","getRookModule","hasEnabledBackground","hasAndroidBackgroundPermissions","resolve","pollHCPermissions","checkPermissions","pollingForAndroidPermissions","race","exports","pollingForHCPermissions"],"sourceRoot":"../../../src","sources":["utils/pollingPermissions.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAACC,CAAC,EAAEC,MAAM,KACpCC,UAAU,CAAC,MAAMD,MAAM,CAAC,IAAIE,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAAE,KAAK,CAC/E,CAAC;AAED,MAAMC,yBAAyB,GAAG,MAAAA,CAAA,KAAY;EAC5C,MAAMC,QAAQ,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAEhC,IAAIC,oBAAoB,GAAG,KAAK;EAEhC,OAAO,CAACA,oBAAoB,EAAE;IAC5BA,oBAAoB,GAAG,MAAMF,QAAQ,CAACG,+BAA+B,CAAC,CAAC;IAEvE,IAAI,CAACD,oBAAoB,EAAE;MACzB,MAAM,IAAIR,OAAO,CAAEU,OAAO,IAAKP,UAAU,CAACO,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D;EACF;EACA,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,iBAAiB,GAAG,MAAAA,CAAA,KAAY;EACpC,MAAML,QAAQ,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAEhC,IAAIC,oBAAoB,GAAG,KAAK;EAEhC,OAAO,CAACA,oBAAoB,EAAE;IAC5BA,oBAAoB,GAAG,MAAMF,QAAQ,CAACM,gBAAgB,CAAC,CAAC;IACxD,IAAI,CAACJ,oBAAoB,EAAE;MACzB,MAAM,IAAIR,OAAO,CAAEU,OAAO,IAAKP,UAAU,CAACO,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D;EACF;EACA,OAAO,IAAI;AACb,CAAC;AAEM,MAAMG,4BAA4B,GAAGA,CAAA,KAAM;EAChD,OAAOb,OAAO,CAACc,IAAI,CAAC,CAACT,yBAAyB,CAAC,CAAC,EAAEN,OAAO,CAAC,CAAC;AAC7D,CAAC;AAACgB,OAAA,CAAAF,4BAAA,GAAAA,4BAAA;AAEK,MAAMG,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,OAAOhB,OAAO,CAACc,IAAI,CAAC,CAACH,iBAAiB,CAAC,CAAC,EAAEZ,OAAO,CAAC,CAAC;AACrD,CAAC;AAACgB,OAAA,CAAAC,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -4,21 +4,30 @@ import { rookSyncGateReducer } from './RookSyncGateReducer'; // Importa el reduc
|
|
|
4
4
|
|
|
5
5
|
import { RookSyncGateContext } from './RookSyncGateContext';
|
|
6
6
|
import { credentials, getRookModule, packageInfo } from '../utils';
|
|
7
|
+
import { useRookAutoSync } from '../modules/hook/useRookAutoSync';
|
|
7
8
|
const initialState = {
|
|
8
9
|
clientUUID: '',
|
|
9
10
|
environment: 'sandbox',
|
|
10
11
|
password: '',
|
|
11
12
|
ready: false,
|
|
12
|
-
userID: ''
|
|
13
|
+
userID: '',
|
|
14
|
+
permissions: 0
|
|
13
15
|
};
|
|
14
16
|
const RookSyncGateProvider = ({
|
|
15
17
|
environment,
|
|
16
18
|
clientUUID,
|
|
17
19
|
password,
|
|
18
20
|
children,
|
|
19
|
-
enableLogs = false
|
|
21
|
+
enableLogs = false,
|
|
22
|
+
enableBackgroundSync
|
|
20
23
|
}) => {
|
|
21
24
|
const [state, dispatch] = useReducer(rookSyncGateReducer, initialState);
|
|
25
|
+
const {
|
|
26
|
+
startBackgroundServices
|
|
27
|
+
} = useRookAutoSync({
|
|
28
|
+
state,
|
|
29
|
+
enableBackground: enableBackgroundSync
|
|
30
|
+
});
|
|
22
31
|
useEffect(() => {
|
|
23
32
|
initModule();
|
|
24
33
|
}, [environment, clientUUID, password]);
|
|
@@ -41,8 +50,10 @@ const RookSyncGateProvider = ({
|
|
|
41
50
|
environment: packageInfo.debug ? 'development' : environment,
|
|
42
51
|
clientUUID: packageInfo.debug ? credentials.uuid : clientUUID,
|
|
43
52
|
password: packageInfo.debug ? credentials.pdw : password,
|
|
44
|
-
enableLogs
|
|
53
|
+
enableLogs,
|
|
54
|
+
enableBackground: enableBackgroundSync
|
|
45
55
|
});
|
|
56
|
+
if (enableBackgroundSync) startBackgroundServices();
|
|
46
57
|
dispatch({
|
|
47
58
|
type: 'SET_READY',
|
|
48
59
|
ready: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useReducer","useEffect","rookSyncGateReducer","RookSyncGateContext","credentials","getRookModule","packageInfo","initialState","clientUUID","environment","password","ready","userID","RookSyncGateProvider","children","enableLogs","state","dispatch","initModule","type","rookSyncModule","initRook","debug","uuid","pdw","error","console","log","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["context/RookSyncGateProvider.tsx"],"mappings":"AAAA;AACA,OAAOA,KAAK,
|
|
1
|
+
{"version":3,"names":["React","useReducer","useEffect","rookSyncGateReducer","RookSyncGateContext","credentials","getRookModule","packageInfo","useRookAutoSync","initialState","clientUUID","environment","password","ready","userID","permissions","RookSyncGateProvider","children","enableLogs","enableBackgroundSync","state","dispatch","startBackgroundServices","enableBackground","initModule","type","rookSyncModule","initRook","debug","uuid","pdw","error","console","log","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["context/RookSyncGateProvider.tsx"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,UAAU,EAAWC,SAAS,QAAQ,OAAO;AAC7D,SAASC,mBAAmB,QAAQ,uBAAuB,CAAC,CAAC;;AAK7D,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,EAAEC,aAAa,EAAEC,WAAW,QAAQ,UAAU;AAClE,SAASC,eAAe,QAAQ,iCAAiC;AAEjE,MAAMC,YAA+B,GAAG;EACtCC,UAAU,EAAE,EAAE;EACdC,WAAW,EAAE,SAAS;EACtBC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE,KAAK;EACZC,MAAM,EAAE,EAAE;EACVC,WAAW,EAAE;AACf,CAAC;AAED,MAAMC,oBAAmD,GAAGA,CAAC;EAC3DL,WAAW;EACXD,UAAU;EACVE,QAAQ;EACRK,QAAQ;EACRC,UAAU,GAAG,KAAK;EAClBC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGpB,UAAU,CAACE,mBAAmB,EAAEM,YAAY,CAAC;EAEvE,MAAM;IAAEa;EAAwB,CAAC,GAAGd,eAAe,CAAC;IAClDY,KAAK;IACLG,gBAAgB,EAAEJ;EACpB,CAAC,CAAC;EAEFjB,SAAS,CAAC,MAAM;IACdsB,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,CAACb,WAAW,EAAED,UAAU,EAAEE,QAAQ,CAAC,CAAC;EAEvC,MAAMY,UAAU,GAAG,MAAAA,CAAA,KAA2B;IAC5CH,QAAQ,CAAC;MAAEI,IAAI,EAAE,sBAAsB;MAAEd;IAAY,CAAC,CAAC;IACvDU,QAAQ,CAAC;MAAEI,IAAI,EAAE,iBAAiB;MAAEf;IAAW,CAAC,CAAC;IACjDW,QAAQ,CAAC;MAAEI,IAAI,EAAE,cAAc;MAAEb;IAAS,CAAC,CAAC;IAE5C,IAAI;MACF,MAAMc,cAAc,GAAGpB,aAAa,CAAC,CAAC;MAEtC,MAAMoB,cAAc,CAACC,QAAQ,CAAC;QAC5BhB,WAAW,EAAEJ,WAAW,CAACqB,KAAK,GAAG,aAAa,GAAGjB,WAAW;QAC5DD,UAAU,EAAEH,WAAW,CAACqB,KAAK,GAAGvB,WAAW,CAACwB,IAAI,GAAGnB,UAAU;QAC7DE,QAAQ,EAAEL,WAAW,CAACqB,KAAK,GAAGvB,WAAW,CAACyB,GAAG,GAAGlB,QAAQ;QACxDM,UAAU;QACVK,gBAAgB,EAAEJ;MACpB,CAAC,CAAC;MAEF,IAAIA,oBAAoB,EAAEG,uBAAuB,CAAC,CAAC;MAEnDD,QAAQ,CAAC;QAAEI,IAAI,EAAE,WAAW;QAAEZ,KAAK,EAAE;MAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOkB,KAAK,EAAE;MACdC,OAAO,CAACC,GAAG,CAACF,KAAK,CAAC;IACpB;EACF,CAAC;EAED,oBACE/B,KAAA,CAAAkC,aAAA,CAAC9B,mBAAmB,CAAC+B,QAAQ;IAACC,KAAK,EAAE;MAAEhB,KAAK;MAAEC;IAAS;EAAE,GACtDJ,QAC2B,CAAC;AAEnC,CAAC;AAED,eAAeD,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["rookSyncGateReducer","state","action","type","ready","environment","clientUUID","password","userID"],"sourceRoot":"../../../src","sources":["context/RookSyncGateReducer.ts"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB,GAAGA,CACjCC,KAAwB,EACxBC,MAAc,KACQ;EACtB,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,WAAW;MACd,OAAO;QAAE,GAAGF,KAAK;QAAEG,KAAK,EAAEF,MAAM,CAACE;MAAM,CAAC;IAC1C,KAAK,sBAAsB;MACzB,OAAO;QAAE,GAAGH,KAAK;QAAEI,WAAW,EAAEH,MAAM,CAACG;MAAY,CAAC;IACtD,KAAK,iBAAiB;MACpB,OAAO;QAAE,GAAGJ,KAAK;QAAEK,UAAU,EAAEJ,MAAM,CAACI;MAAW,CAAC;IACpD,KAAK,cAAc;MACjB,OAAO;QAAE,GAAGL,KAAK;QAAEM,QAAQ,EAAEL,MAAM,CAACK;MAAS,CAAC;IAChD,KAAK,aAAa;MAChB,OAAO;QAAE,GAAGN,KAAK;QAAEO,MAAM,EAAEN,MAAM,CAACM;MAAO,CAAC;IAC5C;MACE,
|
|
1
|
+
{"version":3,"names":["rookSyncGateReducer","state","action","type","ready","environment","clientUUID","password","userID","permissions"],"sourceRoot":"../../../src","sources":["context/RookSyncGateReducer.ts"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB,GAAGA,CACjCC,KAAwB,EACxBC,MAAc,KACQ;EACtB,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,WAAW;MACd,OAAO;QAAE,GAAGF,KAAK;QAAEG,KAAK,EAAEF,MAAM,CAACE;MAAM,CAAC;IAC1C,KAAK,sBAAsB;MACzB,OAAO;QAAE,GAAGH,KAAK;QAAEI,WAAW,EAAEH,MAAM,CAACG;MAAY,CAAC;IACtD,KAAK,iBAAiB;MACpB,OAAO;QAAE,GAAGJ,KAAK;QAAEK,UAAU,EAAEJ,MAAM,CAACI;MAAW,CAAC;IACpD,KAAK,cAAc;MACjB,OAAO;QAAE,GAAGL,KAAK;QAAEM,QAAQ,EAAEL,MAAM,CAACK;MAAS,CAAC;IAChD,KAAK,aAAa;MAChB,OAAO;QAAE,GAAGN,KAAK;QAAEO,MAAM,EAAEN,MAAM,CAACM;MAAO,CAAC;IAC5C,KAAK,iBAAiB;MACpB,OAAO;QACL,GAAGP,KAAK;QACRQ,WAAW,EAAER,KAAK,CAACQ,WAAW,GAAG;MACnC,CAAC;IACH;MACE,OAAOR,KAAK;EAChB;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=RookSyncGateTypes.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useRef } from 'react';
|
|
2
2
|
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
3
3
|
import { getRookModule, isModuleReady, isRunningOnAndroid } from '../utils';
|
|
4
4
|
export const useRookAndroidBackgroundSteps = () => {
|
|
@@ -8,18 +8,6 @@ export const useRookAndroidBackgroundSteps = () => {
|
|
|
8
8
|
ready
|
|
9
9
|
}
|
|
10
10
|
} = useRookSyncGateContext();
|
|
11
|
-
const startServices = useCallback(async () => {
|
|
12
|
-
try {
|
|
13
|
-
if (!ready) return;
|
|
14
|
-
const hasPermissions = await rookSync.current.hasStepsPermissions();
|
|
15
|
-
const isAlreadyStarted = await rookSync.current.isBackgroundAndroidStepsActive();
|
|
16
|
-
if (hasPermissions && !isAlreadyStarted) await rookSync.current.enableBackgroundAndroidSteps();
|
|
17
|
-
} catch (error) {}
|
|
18
|
-
}, [ready]);
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
console.log('cambie');
|
|
21
|
-
startServices();
|
|
22
|
-
}, [ready, startServices]);
|
|
23
11
|
|
|
24
12
|
/**
|
|
25
13
|
* The function `isStepsAvailable` checks if steps data is available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOnAndroid","useRookAndroidBackgroundSteps","rookSync","state","ready","isStepsAvailable","current","hasStepsPermissions","requestStepsPermissions","enableBackgroundAndroidSteps","disableBackgroundAndroidSteps","isBackgroundAndroidStepsActive","syncTodayAndroidStepsCount","syncTodayHealthConnectStepsCount"],"sourceRoot":"../../../src","sources":["hooks/useRookAndroidBackgroundSteps.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,aAAa,EAAEC,aAAa,EAAEC,kBAAkB,QAAQ,UAAU;AAE3E,OAAO,MAAMC,6BAA6B,GAAGA,CAAA,KAAM;EACjD,MAAMC,QAAQ,GAAGN,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJK,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGP,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMQ,gBAAgB,GAAG,MAAAA,CAAA,KAA8B;IACrDL,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACD,gBAAgB,CAAC,CAAC;EAC5C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAME,mBAAmB,GAAG,MAAAA,CAAA,KAA8B;IACxDP,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACC,mBAAmB,CAAC,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,uBAAuB,GAAGA,CAAA,KAAwB;IACtDR,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACE,uBAAuB,CAAC,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,4BAA4B,GAAG,MAAAA,CAAA,KAA8B;IACjET,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACG,4BAA4B,CAAC,CAAC;EACxD,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,6BAA6B,GAAGA,CAAA,KAAwB;IAC5DV,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACI,6BAA6B,CAAC,CAAC;EACzD,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,8BAA8B,GAAGA,CAAA,KAAwB;IAC7DX,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACK,8BAA8B,CAAC,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,0BAA0B,GAAGA,CAAA,KAAuB;IACxDZ,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACM,0BAA0B,CAAC,CAAC;EACtD,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMC,gCAAgC,GAAGA,CAAA,KAAuB;IAC9Db,kBAAkB,CAAC,CAAC;IACpBD,aAAa,CAACK,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACI,OAAO,CAACO,gCAAgC,CAAC,CAAC;EAC5D,CAAC;EAED,OAAO;IACLT,KAAK;IACLC,gBAAgB;IAChBE,mBAAmB;IACnBC,uBAAuB;IACvBC,4BAA4B;IAC5BC,6BAA6B;IAC7BC,8BAA8B;IAC9BC,0BAA0B;IAC1BC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -20,7 +20,7 @@ export const useRookConfiguration = () => {
|
|
|
20
20
|
const getUserID = async () => {
|
|
21
21
|
isModuleReady(ready);
|
|
22
22
|
const result = await rookSync.current.getUserID();
|
|
23
|
-
dispatch({
|
|
23
|
+
if (result) dispatch({
|
|
24
24
|
type: 'SET_USER_ID',
|
|
25
25
|
userID: result
|
|
26
26
|
});
|
|
@@ -36,11 +36,11 @@ export const useRookConfiguration = () => {
|
|
|
36
36
|
*/
|
|
37
37
|
const updateUserID = async userID => {
|
|
38
38
|
isModuleReady(ready);
|
|
39
|
+
const result = await rookSync.current.updateUserID(userID);
|
|
39
40
|
dispatch({
|
|
40
41
|
type: 'SET_USER_ID',
|
|
41
42
|
userID
|
|
42
43
|
});
|
|
43
|
-
const result = await rookSync.current.updateUserID(userID);
|
|
44
44
|
return result;
|
|
45
45
|
};
|
|
46
46
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","useRookConfiguration","rookSync","state","ready","clientUUID","password","environment","dispatch","getUserID","result","current","type","userID","updateUserID","clearUserID","syncUserTimeZone","removeUserFromRook","enableAppleHealthSync","enableSync","disableAppleHealthSync","disableSync","isAppleHealthSyncEnabled","isSyncEnable","scheduleAndroidYesterdaySync","doOnEnd","scheduleYesterdaySync","clientPassword"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SACEC,aAAa,EACbC,aAAa,EACbC,kBAAkB,EAClBC,cAAc,QACT,UAAU;AAIjB,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMC,QAAQ,GAAGP,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJM,KAAK,EAAE;MAAEC,KAAK;MAAEC,UAAU;MAAEC,QAAQ;MAAEC;IAAY,CAAC;IACnDC;EACF,CAAC,GAAGZ,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMa,SAAS,GAAG,MAAAA,CAAA,KAA6B;IAC7CX,aAAa,CAACM,KAAK,CAAC;IAEpB,MAAMM,
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","useRookConfiguration","rookSync","state","ready","clientUUID","password","environment","dispatch","getUserID","result","current","type","userID","updateUserID","clearUserID","syncUserTimeZone","removeUserFromRook","enableAppleHealthSync","enableSync","disableAppleHealthSync","disableSync","isAppleHealthSyncEnabled","isSyncEnable","scheduleAndroidYesterdaySync","doOnEnd","scheduleYesterdaySync","clientPassword"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,18 +13,18 @@ export const useRookDataSources = () => {
|
|
|
13
13
|
* Request the sources data are available in Rook
|
|
14
14
|
* @returns An array of DataSource objects
|
|
15
15
|
*/
|
|
16
|
-
const getAvailableDataSources =
|
|
16
|
+
const getAvailableDataSources = options => {
|
|
17
17
|
isModuleReady(ready);
|
|
18
|
-
return rookSync.current.getAvailableDataSources();
|
|
18
|
+
return rookSync.current.getAvailableDataSources(options);
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Present or show a connections page with the data sources available
|
|
23
23
|
* @returns An array of DataSource objects
|
|
24
24
|
*/
|
|
25
|
-
const presentDataSourceView =
|
|
25
|
+
const presentDataSourceView = options => {
|
|
26
26
|
isModuleReady(ready);
|
|
27
|
-
return rookSync.current.presentDataSourceView();
|
|
27
|
+
return rookSync.current.presentDataSourceView(options);
|
|
28
28
|
};
|
|
29
29
|
return {
|
|
30
30
|
ready,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","useRookDataSources","rookSync","state","ready","getAvailableDataSources","current","presentDataSourceView"],"sourceRoot":"../../../src","sources":["hooks/useRookDataSources.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,aAAa,EAAEC,aAAa,QAAQ,UAAU;
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","useRookDataSources","rookSync","state","ready","getAvailableDataSources","options","current","presentDataSourceView"],"sourceRoot":"../../../src","sources":["hooks/useRookDataSources.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,aAAa,EAAEC,aAAa,QAAQ,UAAU;AAOvD,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,QAAQ,GAAGL,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJI,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGN,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMO,uBAAuB,GAC3BC,OAAiB,IACS;IAC1BN,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACK,OAAO,CAACF,uBAAuB,CAACC,OAAO,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAME,qBAAqB,GAAIF,OAAiB,IAAuB;IACrEN,aAAa,CAACI,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACK,OAAO,CAACC,qBAAqB,CAACF,OAAO,CAAC;EACxD,CAAC;EAED,OAAO;IACLF,KAAK;IACLC,uBAAuB;IACvBG;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
2
|
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
3
|
-
import { getRookModule, isModuleReady, isRunningOniOS, packageInfo, isRunningOnAndroid } from '../utils';
|
|
3
|
+
import { getRookModule, isModuleReady, isRunningOniOS, packageInfo, isRunningOnAndroid, pollingForAndroidPermissions, pollingForHCPermissions } from '../utils';
|
|
4
4
|
export const useRookPermissions = () => {
|
|
5
5
|
const rookSync = useRef(getRookModule());
|
|
6
6
|
const {
|
|
7
7
|
state: {
|
|
8
8
|
ready
|
|
9
|
-
}
|
|
9
|
+
},
|
|
10
|
+
dispatch
|
|
10
11
|
} = useRookSyncGateContext();
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -37,6 +38,11 @@ export const useRookPermissions = () => {
|
|
|
37
38
|
const requestAllAppleHealthPermissions = async () => {
|
|
38
39
|
isRunningOniOS();
|
|
39
40
|
isModuleReady(ready);
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
dispatch({
|
|
43
|
+
type: 'SET_PERMISSIONS'
|
|
44
|
+
});
|
|
45
|
+
}, 60000);
|
|
40
46
|
await rookSync.current.requestAllPermissions();
|
|
41
47
|
};
|
|
42
48
|
|
|
@@ -46,16 +52,28 @@ export const useRookPermissions = () => {
|
|
|
46
52
|
const requestAllHealthConnectPermissions = async () => {
|
|
47
53
|
isRunningOnAndroid();
|
|
48
54
|
isModuleReady(ready);
|
|
55
|
+
pollingForHCPermissions().then(() => dispatch({
|
|
56
|
+
type: 'SET_PERMISSIONS'
|
|
57
|
+
})).catch(() => {});
|
|
49
58
|
await rookSync.current.requestPermissions();
|
|
50
59
|
};
|
|
51
60
|
|
|
52
61
|
/**
|
|
53
62
|
* The function `requestAllPermissions` requests all permissions
|
|
54
63
|
*/
|
|
55
|
-
const requestAllPermissions = () => {
|
|
64
|
+
const requestAllPermissions = async () => {
|
|
56
65
|
isModuleReady(ready);
|
|
57
|
-
if (packageInfo.isAndroid)
|
|
58
|
-
|
|
66
|
+
if (packageInfo.isAndroid) {
|
|
67
|
+
pollingForHCPermissions().then(() => dispatch({
|
|
68
|
+
type: 'SET_PERMISSIONS'
|
|
69
|
+
})).catch(() => {});
|
|
70
|
+
return rookSync.current.requestPermissions();
|
|
71
|
+
}
|
|
72
|
+
const result = await rookSync.current.requestAllPermissions();
|
|
73
|
+
dispatch({
|
|
74
|
+
type: 'SET_PERMISSIONS'
|
|
75
|
+
});
|
|
76
|
+
return result;
|
|
59
77
|
};
|
|
60
78
|
|
|
61
79
|
/**
|
|
@@ -64,8 +82,7 @@ export const useRookPermissions = () => {
|
|
|
64
82
|
const openHealthConnectSettings = async () => {
|
|
65
83
|
isRunningOnAndroid();
|
|
66
84
|
isModuleReady(ready);
|
|
67
|
-
|
|
68
|
-
return result;
|
|
85
|
+
return rookSync.current.openHealthConnectSettings();
|
|
69
86
|
};
|
|
70
87
|
|
|
71
88
|
/**
|
|
@@ -76,6 +93,9 @@ export const useRookPermissions = () => {
|
|
|
76
93
|
const requestAndroidBackgroundPermissions = () => {
|
|
77
94
|
isRunningOnAndroid();
|
|
78
95
|
isModuleReady(ready);
|
|
96
|
+
pollingForAndroidPermissions().then(() => dispatch({
|
|
97
|
+
type: 'SET_PERMISSIONS'
|
|
98
|
+
})).catch(() => {});
|
|
79
99
|
return rookSync.current.requestAndroidBackgroundPermissions();
|
|
80
100
|
};
|
|
81
101
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOniOS","packageInfo","isRunningOnAndroid","useRookPermissions","rookSync","state","ready","checkAvailability","isAndroid","current","Promise","resolve","healthConnectHasPermissions","checkPermissions","requestAllAppleHealthPermissions","requestAllPermissions","requestAllHealthConnectPermissions","
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isRunningOniOS","packageInfo","isRunningOnAndroid","pollingForAndroidPermissions","pollingForHCPermissions","useRookPermissions","rookSync","state","ready","dispatch","checkAvailability","isAndroid","current","Promise","resolve","healthConnectHasPermissions","checkPermissions","requestAllAppleHealthPermissions","setTimeout","type","requestAllPermissions","requestAllHealthConnectPermissions","then","catch","requestPermissions","result","openHealthConnectSettings","requestAndroidBackgroundPermissions","hasAndroidBackgroundPermissions"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SACEC,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,WAAW,EACXC,kBAAkB,EAClBC,4BAA4B,EAC5BC,uBAAuB,QAClB,UAAU;AAOjB,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,QAAQ,GAAGV,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJS,KAAK,EAAE;MAAEC;IAAM,CAAC;IAChBC;EACF,CAAC,GAAGZ,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;EACE,MAAMa,iBAAiB,GAAGA,CAAA,KAA0C;IAClEX,aAAa,CAACS,KAAK,CAAC;IAEpB,IAAIP,WAAW,CAACU,SAAS,EAAE,OAAOL,QAAQ,CAACM,OAAO,CAACF,iBAAiB,CAAC,CAAC;IAEtE,OAAO,IAAIG,OAAO,CAA6BC,OAAO,IACpDA,OAAO,CAAC,WAAW,CACrB,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,2BAA2B,GAAG,MAAAA,CAAA,KAA8B;IAChEb,kBAAkB,CAAC,CAAC;IACpBH,aAAa,CAACS,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACM,OAAO,CAACI,gBAAgB,CAAC,CAAC;EAC5C,CAAC;;EAED;AACF;AACA;EACE,MAAMC,gCAAgC,GAAG,MAAAA,CAAA,KAA2B;IAClEjB,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACS,KAAK,CAAC;IAEpBU,UAAU,CAAC,MAAM;MACfT,QAAQ,CAAC;QAAEU,IAAI,EAAE;MAAkB,CAAC,CAAC;IACvC,CAAC,EAAE,KAAK,CAAC;IAET,MAAMb,QAAQ,CAACM,OAAO,CAACQ,qBAAqB,CAAC,CAAC;EAChD,CAAC;;EAED;AACF;AACA;EACE,MAAMC,kCAAkC,GAAG,MAAAA,CAAA,KAA2B;IACpEnB,kBAAkB,CAAC,CAAC;IACpBH,aAAa,CAACS,KAAK,CAAC;IAEpBJ,uBAAuB,CAAC,CAAC,CACtBkB,IAAI,CAAC,MAAMb,QAAQ,CAAC;MAAEU,IAAI,EAAE;IAAkB,CAAC,CAAC,CAAC,CACjDI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAElB,MAAMjB,QAAQ,CAACM,OAAO,CAACY,kBAAkB,CAAC,CAAC;EAC7C,CAAC;;EAED;AACF;AACA;EACE,MAAMJ,qBAAqB,GAAG,MAAAA,CAAA,KAA2B;IACvDrB,aAAa,CAACS,KAAK,CAAC;IAEpB,IAAIP,WAAW,CAACU,SAAS,EAAE;MACzBP,uBAAuB,CAAC,CAAC,CACtBkB,IAAI,CAAC,MAAMb,QAAQ,CAAC;QAAEU,IAAI,EAAE;MAAkB,CAAC,CAAC,CAAC,CACjDI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MAElB,OAAOjB,QAAQ,CAACM,OAAO,CAACY,kBAAkB,CAAC,CAAC;IAC9C;IAEA,MAAMC,MAAM,GAAG,MAAMnB,QAAQ,CAACM,OAAO,CAACQ,qBAAqB,CAAC,CAAC;IAE7DX,QAAQ,CAAC;MAAEU,IAAI,EAAE;IAAkB,CAAC,CAAC;IAErC,OAAOM,MAAM;EACf,CAAC;;EAED;AACF;AACA;EACE,MAAMC,yBAAyB,GAAG,MAAAA,CAAA,KAA2B;IAC3DxB,kBAAkB,CAAC,CAAC;IACpBH,aAAa,CAACS,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACM,OAAO,CAACc,yBAAyB,CAAC,CAAC;EACrD,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,mCAAmC,GAAGA,CAAA,KAAqB;IAC/DzB,kBAAkB,CAAC,CAAC;IACpBH,aAAa,CAACS,KAAK,CAAC;IAEpBL,4BAA4B,CAAC,CAAC,CAC3BmB,IAAI,CAAC,MAAMb,QAAQ,CAAC;MAAEU,IAAI,EAAE;IAAkB,CAAC,CAAC,CAAC,CACjDI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAElB,OAAOjB,QAAQ,CAACM,OAAO,CAACe,mCAAmC,CAAC,CAAC;EAC/D,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMC,+BAA+B,GAAGA,CAAA,KAAwB;IAC9D1B,kBAAkB,CAAC,CAAC;IACpBH,aAAa,CAACS,KAAK,CAAC;IAEpB,OAAOF,QAAQ,CAACM,OAAO,CAACgB,+BAA+B,CAAC,CAAC;EAC3D,CAAC;EAED,OAAO;IACLpB,KAAK;IACLE,iBAAiB;IACjBO,gCAAgC;IAChCI,kCAAkC;IAClCD,qBAAqB;IACrBM,yBAAyB;IACzBX,2BAA2B;IAC3BY,mCAAmC;IACnCC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -9,16 +9,6 @@ export const useRookSummaries = () => {
|
|
|
9
9
|
}
|
|
10
10
|
} = useRookSyncGateContext();
|
|
11
11
|
|
|
12
|
-
/**
|
|
13
|
-
* The function `syncYesterdaySummaries` checks if a module is ready and then synchronizes
|
|
14
|
-
* yesterday's summaries.
|
|
15
|
-
* @returns A Promise that resolves to a boolean value.
|
|
16
|
-
*/
|
|
17
|
-
const syncSummaries = () => {
|
|
18
|
-
isModuleReady(ready);
|
|
19
|
-
return rookSync.current.syncYesterdaySummaries();
|
|
20
|
-
};
|
|
21
|
-
|
|
22
12
|
/**
|
|
23
13
|
* Checks if in the specific date the health kit contains available data
|
|
24
14
|
* @param {'SLEEP' | 'PHYSICAL' | 'BODY'} props.type - specifies the type of summary that you want to sync
|
|
@@ -85,7 +75,6 @@ export const useRookSummaries = () => {
|
|
|
85
75
|
return {
|
|
86
76
|
ready,
|
|
87
77
|
shouldSyncFor,
|
|
88
|
-
syncSummaries,
|
|
89
78
|
reSyncFailedSummaries,
|
|
90
79
|
syncSleepSummary,
|
|
91
80
|
syncPhysicalSummary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isValidDate","packageInfo","useRookSummaries","rookSync","state","ready","
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getRookModule","isModuleReady","isValidDate","packageInfo","useRookSummaries","rookSync","state","ready","shouldSyncFor","props","type","date","isAndroid","Promise","resolve","current","syncSleepSummary","syncPhysicalSummary","syncBodySummary","reSyncFailedSummaries","syncPendingSummaries"],"sourceRoot":"../../../src","sources":["hooks/useRookSummaries.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SACEC,aAAa,EACbC,aAAa,EACbC,WAAW,EACXC,WAAW,QACN,UAAU;AAOjB,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAGP,MAAM,CAACE,aAAa,CAAC,CAAC,CAAC;EACxC,MAAM;IACJM,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGR,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMS,aAAa,GAAIC,KAAyB,IAAuB;IACrER,aAAa,CAACM,KAAK,CAAC;IAEpB,MAAM;MAAEG,IAAI;MAAEC;IAAK,CAAC,GAAGF,KAAK;IAE5B,IAAI,CAACN,WAAW,CAACS,SAAS,EAAE;MAC1B,OAAO,IAAIC,OAAO,CAAWC,OAAO,IAAKA,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;IAEA,OAAOT,QAAQ,CAACU,OAAO,CAACP,aAAa,CAACE,IAAI,EAAEC,IAAI,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMK,gBAAgB,GAAIL,IAAY,IAAuB;IAC3DV,aAAa,CAACM,KAAK,CAAC;IACpBL,WAAW,CAACS,IAAI,CAAC;IAEjB,OAAON,QAAQ,CAACU,OAAO,CAACC,gBAAgB,CAACL,IAAI,CAAC;EAChD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMM,mBAAmB,GAAIN,IAAY,IAAuB;IAC9DV,aAAa,CAACM,KAAK,CAAC;IACpBL,WAAW,CAACS,IAAI,CAAC;IAEjB,OAAON,QAAQ,CAACU,OAAO,CAACE,mBAAmB,CAACN,IAAI,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMO,eAAe,GAAIP,IAAY,IAAuB;IAC1DV,aAAa,CAACM,KAAK,CAAC;IACpBL,WAAW,CAACS,IAAI,CAAC;IAEjB,OAAON,QAAQ,CAACU,OAAO,CAACG,eAAe,CAACP,IAAI,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMQ,qBAAqB,GAAGA,CAAA,KAAwB;IACpDlB,aAAa,CAACM,KAAK,CAAC;IACpB,OAAOF,QAAQ,CAACU,OAAO,CAACK,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,OAAO;IACLb,KAAK;IACLC,aAAa;IACbW,qBAAqB;IACrBH,gBAAgB;IAChBC,mBAAmB;IACnBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
2
|
+
import { useEffect, useRef } from 'react';
|
|
3
|
+
import { AppState, Platform } from 'react-native';
|
|
4
|
+
import { errors } from '../utils/errors';
|
|
5
|
+
import { getRookModule } from '../../utils';
|
|
6
|
+
export const useRookAutoSync = ({
|
|
7
|
+
enableBackground,
|
|
8
|
+
state
|
|
9
|
+
}) => {
|
|
10
|
+
const appState = useRef(AppState.currentState);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!enableBackground) return;
|
|
13
|
+
const subscription = AppState.addEventListener('change', nextAppState => {
|
|
14
|
+
if (
|
|
15
|
+
// Check previous state to check if he app was inactive or in background
|
|
16
|
+
// and then pass to be active
|
|
17
|
+
appState.current.match(/inactive|background/) && nextAppState === 'active') {
|
|
18
|
+
startBackgroundServices();
|
|
19
|
+
}
|
|
20
|
+
appState.current = nextAppState;
|
|
21
|
+
});
|
|
22
|
+
return () => {
|
|
23
|
+
subscription.remove();
|
|
24
|
+
};
|
|
25
|
+
}, []);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (!state.ready || state.permissions === 0) return;
|
|
28
|
+
startBackgroundServices();
|
|
29
|
+
}, [state.ready, state.permissions, state.userID]);
|
|
30
|
+
const startBackgroundServices = () => {
|
|
31
|
+
if (Platform.OS === 'android') startAndroidBackgroundSync();else startIOSBackgroundSync();
|
|
32
|
+
};
|
|
33
|
+
const startAndroidBackgroundSync = async () => {
|
|
34
|
+
try {
|
|
35
|
+
const rookSyncModule = getRookModule();
|
|
36
|
+
const userID = await rookSyncModule.getUserID();
|
|
37
|
+
if (!userID) {
|
|
38
|
+
console.log(errors.noUserIDAndroidBackground);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const hasHCPermissions = await rookSyncModule.checkPermissions();
|
|
42
|
+
const hasAndroidPermissions = await rookSyncModule.hasAndroidBackgroundPermissions();
|
|
43
|
+
const {
|
|
44
|
+
clientUUID,
|
|
45
|
+
password,
|
|
46
|
+
environment
|
|
47
|
+
} = state;
|
|
48
|
+
if (hasHCPermissions && hasAndroidPermissions) {
|
|
49
|
+
await rookSyncModule.scheduleYesterdaySync({
|
|
50
|
+
clientPassword: password,
|
|
51
|
+
clientUUID,
|
|
52
|
+
doOnEnd: 'oldest',
|
|
53
|
+
environment
|
|
54
|
+
});
|
|
55
|
+
await rookSyncModule.enableBackgroundAndroidSteps();
|
|
56
|
+
console.log('ROOK - Background enabled successfully');
|
|
57
|
+
} else console.log(errors.autoStartAndroidBackgroundSync);
|
|
58
|
+
} catch (error) {
|
|
59
|
+
console.log(error);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const startIOSBackgroundSync = async () => {
|
|
63
|
+
try {
|
|
64
|
+
const rookSyncModule = getRookModule();
|
|
65
|
+
const userID = await rookSyncModule.getUserID();
|
|
66
|
+
if (!userID) {
|
|
67
|
+
console.error(errors.noUserIDAndroidBackground);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
await rookSyncModule.getTodaySteps();
|
|
71
|
+
await rookSyncModule.enableBackGroundUpdates();
|
|
72
|
+
console.log('ROOK - Background enabled successfully');
|
|
73
|
+
} catch (err) {
|
|
74
|
+
const error = err;
|
|
75
|
+
if (error.message && error.message.includes('emptyUserId')) console.error(errors.noUserIDAndroidBackground);else console.error(errors.autoStartIOSBackgroundSync);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
return {
|
|
79
|
+
startBackgroundServices
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=useRookAutoSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","AppState","Platform","errors","getRookModule","useRookAutoSync","enableBackground","state","appState","currentState","subscription","addEventListener","nextAppState","current","match","startBackgroundServices","remove","ready","permissions","userID","OS","startAndroidBackgroundSync","startIOSBackgroundSync","rookSyncModule","getUserID","console","log","noUserIDAndroidBackground","hasHCPermissions","checkPermissions","hasAndroidPermissions","hasAndroidBackgroundPermissions","clientUUID","password","environment","scheduleYesterdaySync","clientPassword","doOnEnd","enableBackgroundAndroidSteps","autoStartAndroidBackgroundSync","error","getTodaySteps","enableBackGroundUpdates","err","message","includes","autoStartIOSBackgroundSync"],"sourceRoot":"../../../../src","sources":["modules/hook/useRookAutoSync.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const errors = {
|
|
2
|
+
autoStartAndroidBackgroundSync: 'ROOK - We try to start the background sync but some permissions are missing on android, please grant permissions on health connect and android permissions, https://docs.tryrook.io/docs/rookconnect/sdk/reactnative/fundamentals/grantpermissons/#request-permissions',
|
|
3
|
+
autoStartIOSBackgroundSync: 'ROOK - We try to start the background sync but some error occurred please check the permissions are granted and data exists in the device, https://docs.tryrook.io/docs/rookconnect/sdk/reactnative/fundamentals/grantpermissons/#request-permissions',
|
|
4
|
+
noUserIDAndroidBackground: "ROOK - We couldn't start the background sync cause there is no user registered, https://docs.tryrook.io/docs/rookconnect/sdk/reactnative/fundamentals/updateuserid/"
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["errors","autoStartAndroidBackgroundSync","autoStartIOSBackgroundSync","noUserIDAndroidBackground"],"sourceRoot":"../../../../src","sources":["modules/utils/errors.ts"],"mappings":"AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,8BAA8B,EAC5B,wQAAwQ;EAE1QC,0BAA0B,EACxB,wPAAwP;EAC1PC,yBAAyB,EACvB;AACJ,CAAC","ignoreList":[]}
|
|
@@ -5,4 +5,5 @@ export { isModuleReady } from './isModuleReady';
|
|
|
5
5
|
export { isRunningOniOS } from './isRunningOniOS';
|
|
6
6
|
export { isValidDate } from './isValidDate';
|
|
7
7
|
export { packageInfo } from './packageInfo';
|
|
8
|
+
export { pollingForAndroidPermissions, pollingForHCPermissions } from './pollingPermissions';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["credentials","default","isRunningOnAndroid","getRookModule","isModuleReady","isRunningOniOS","isValidDate","packageInfo"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,OAAO,IAAIC,kBAAkB,QAAQ,sBAAsB;AACpE,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW,QAAQ,eAAe","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["credentials","default","isRunningOnAndroid","getRookModule","isModuleReady","isRunningOniOS","isValidDate","packageInfo","pollingForAndroidPermissions","pollingForHCPermissions"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,OAAO,IAAIC,kBAAkB,QAAQ,sBAAsB;AACpE,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW,QAAQ,eAAe;AAC3C,SACEC,4BAA4B,EAC5BC,uBAAuB,QAClB,sBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getRookModule } from './getRookModule';
|
|
2
|
+
const timeout = new Promise((_, reject) => setTimeout(() => reject(new Error('Polling timed out after 1 minute')), 60000));
|
|
3
|
+
const pollBackgroundPermissions = async () => {
|
|
4
|
+
const rookSync = getRookModule();
|
|
5
|
+
let hasEnabledBackground = false;
|
|
6
|
+
while (!hasEnabledBackground) {
|
|
7
|
+
hasEnabledBackground = await rookSync.hasAndroidBackgroundPermissions();
|
|
8
|
+
if (!hasEnabledBackground) {
|
|
9
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
};
|
|
14
|
+
const pollHCPermissions = async () => {
|
|
15
|
+
const rookSync = getRookModule();
|
|
16
|
+
let hasEnabledBackground = false;
|
|
17
|
+
while (!hasEnabledBackground) {
|
|
18
|
+
hasEnabledBackground = await rookSync.checkPermissions();
|
|
19
|
+
if (!hasEnabledBackground) {
|
|
20
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
};
|
|
25
|
+
export const pollingForAndroidPermissions = () => {
|
|
26
|
+
return Promise.race([pollBackgroundPermissions(), timeout]);
|
|
27
|
+
};
|
|
28
|
+
export const pollingForHCPermissions = () => {
|
|
29
|
+
return Promise.race([pollHCPermissions(), timeout]);
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=pollingPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getRookModule","timeout","Promise","_","reject","setTimeout","Error","pollBackgroundPermissions","rookSync","hasEnabledBackground","hasAndroidBackgroundPermissions","resolve","pollHCPermissions","checkPermissions","pollingForAndroidPermissions","race","pollingForHCPermissions"],"sourceRoot":"../../../src","sources":["utils/pollingPermissions.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAACC,CAAC,EAAEC,MAAM,KACpCC,UAAU,CAAC,MAAMD,MAAM,CAAC,IAAIE,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAAE,KAAK,CAC/E,CAAC;AAED,MAAMC,yBAAyB,GAAG,MAAAA,CAAA,KAAY;EAC5C,MAAMC,QAAQ,GAAGR,aAAa,CAAC,CAAC;EAEhC,IAAIS,oBAAoB,GAAG,KAAK;EAEhC,OAAO,CAACA,oBAAoB,EAAE;IAC5BA,oBAAoB,GAAG,MAAMD,QAAQ,CAACE,+BAA+B,CAAC,CAAC;IAEvE,IAAI,CAACD,oBAAoB,EAAE;MACzB,MAAM,IAAIP,OAAO,CAAES,OAAO,IAAKN,UAAU,CAACM,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D;EACF;EACA,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,iBAAiB,GAAG,MAAAA,CAAA,KAAY;EACpC,MAAMJ,QAAQ,GAAGR,aAAa,CAAC,CAAC;EAEhC,IAAIS,oBAAoB,GAAG,KAAK;EAEhC,OAAO,CAACA,oBAAoB,EAAE;IAC5BA,oBAAoB,GAAG,MAAMD,QAAQ,CAACK,gBAAgB,CAAC,CAAC;IACxD,IAAI,CAACJ,oBAAoB,EAAE;MACzB,MAAM,IAAIP,OAAO,CAAES,OAAO,IAAKN,UAAU,CAACM,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D;EACF;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAMG,4BAA4B,GAAGA,CAAA,KAAM;EAChD,OAAOZ,OAAO,CAACa,IAAI,CAAC,CAACR,yBAAyB,CAAC,CAAC,EAAEN,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,OAAO,MAAMe,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,OAAOd,OAAO,CAACa,IAAI,CAAC,CAACH,iBAAiB,CAAC,CAAC,EAAEX,OAAO,CAAC,CAAC;AACrD,CAAC","ignoreList":[]}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type {
|
|
3
|
-
type RookSyncGateProviderProps = {
|
|
4
|
-
children: ReactNode;
|
|
5
|
-
environment: Environment;
|
|
6
|
-
clientUUID: string;
|
|
7
|
-
password: string;
|
|
8
|
-
enableLogs?: boolean;
|
|
9
|
-
};
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { RookSyncGateProviderProps } from './RookSyncGateTypes';
|
|
10
3
|
declare const RookSyncGateProvider: FC<RookSyncGateProviderProps>;
|
|
11
4
|
export default RookSyncGateProvider;
|
|
12
5
|
//# sourceMappingURL=RookSyncGateProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RookSyncGateProvider.d.ts","sourceRoot":"","sources":["../../../../src/context/RookSyncGateProvider.tsx"],"names":[],"mappings":"AACA,OAAc,
|
|
1
|
+
{"version":3,"file":"RookSyncGateProvider.d.ts","sourceRoot":"","sources":["../../../../src/context/RookSyncGateProvider.tsx"],"names":[],"mappings":"AACA,OAAc,EAAc,KAAK,EAAE,EAAa,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAc7B,QAAA,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAgDvD,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RookSyncGateReducer.d.ts","sourceRoot":"","sources":["../../../../src/context/RookSyncGateReducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAErE,eAAO,MAAM,mBAAmB,UACvB,iBAAiB,UAChB,MAAM,KACb,
|
|
1
|
+
{"version":3,"file":"RookSyncGateReducer.d.ts","sourceRoot":"","sources":["../../../../src/context/RookSyncGateReducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAErE,eAAO,MAAM,mBAAmB,UACvB,iBAAiB,UAChB,MAAM,KACb,iBAoBF,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
export type Environment = 'sandbox' | 'production';
|
|
2
3
|
type RookSyncGateState = {
|
|
3
4
|
clientUUID: string;
|
|
@@ -5,6 +6,7 @@ type RookSyncGateState = {
|
|
|
5
6
|
password: string;
|
|
6
7
|
ready: boolean;
|
|
7
8
|
userID: string;
|
|
9
|
+
permissions: number;
|
|
8
10
|
};
|
|
9
11
|
type Action = {
|
|
10
12
|
type: 'SET_READY';
|
|
@@ -21,6 +23,16 @@ type Action = {
|
|
|
21
23
|
} | {
|
|
22
24
|
type: 'SET_PASSWORD';
|
|
23
25
|
password: string;
|
|
26
|
+
} | {
|
|
27
|
+
type: 'SET_PERMISSIONS';
|
|
28
|
+
};
|
|
29
|
+
type RookSyncGateProviderProps = {
|
|
30
|
+
children: ReactNode;
|
|
31
|
+
environment: Environment;
|
|
32
|
+
clientUUID: string;
|
|
33
|
+
password: string;
|
|
34
|
+
enableLogs?: boolean;
|
|
35
|
+
enableBackgroundSync: boolean;
|
|
24
36
|
};
|
|
25
|
-
export type { RookSyncGateState, Action };
|
|
37
|
+
export type { RookSyncGateState, Action, RookSyncGateProviderProps };
|
|
26
38
|
//# sourceMappingURL=RookSyncGateTypes.d.ts.map
|