@ovok/native 1.6.4 → 1.6.6
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/README.md +9 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +15 -4
- package/lib/commonjs/modules/background-sync/android-background-sync.js +2 -1
- package/lib/commonjs/modules/background-sync/android-background-sync.js.map +1 -1
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +13 -1
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +18 -0
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +4 -3
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +7 -4
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +15 -4
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js +6 -3
- package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js +5 -2
- package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
- package/lib/commonjs/modules/ui/components/urine-test-result.js +50 -18
- package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -1
- package/lib/module/modules/background-sync/android-background-sync.js +2 -1
- package/lib/module/modules/background-sync/android-background-sync.js.map +1 -1
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +14 -2
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +19 -1
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +4 -3
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/data-processor.js +7 -4
- package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js +15 -4
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js +6 -3
- package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js +5 -2
- package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
- package/lib/module/modules/ui/components/urine-test-result.js +50 -18
- package/lib/module/modules/ui/components/urine-test-result.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +4 -2
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts +3 -1
- package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +4 -2
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts +4 -1
- package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts +3 -2
- package/lib/typescript/module/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts +3 -1
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/types.d.ts +10 -0
- package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -40,7 +40,8 @@ const isAndroidBatteryOptimizationIgnored = async () => {
|
|
|
40
40
|
/**
|
|
41
41
|
* Opens Android's consent screen for a Doze exemption. This is always explicit
|
|
42
42
|
* opt-in. A false result means the exemption is not active yet; it can also
|
|
43
|
-
* mean the
|
|
43
|
+
* mean the app is not currently foregrounded, the user has already answered,
|
|
44
|
+
* or the prompt was already shown. Recheck
|
|
44
45
|
* `isAndroidBatteryOptimizationIgnored` after returning to the foreground.
|
|
45
46
|
*/
|
|
46
47
|
const requestAndroidBatteryOptimizationExemption = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AppRegistry","NativeModules","Platform","AndroidHealthSyncService","ANDROID_HEALTH_CONNECT_BACKGROUND_TASK","getNativeModule","nativeModule","OvokBackgroundSync","Error","startAndroidBluetoothForegroundService","options","OS","startBluetoothForegroundService","stopAndroidBluetoothForegroundService","stopBluetoothForegroundService","isAndroidBatteryOptimizationIgnored","isIgnoringBatteryOptimizations","requestAndroidBatteryOptimizationExemption","requestIgnoreBatteryOptimizations","scheduleAndroidHealthConnectSync","scheduleHealthConnectSync","cancelAndroidHealthConnectSync","cancelHealthConnectSync","runAndroidHealthConnectSync","client","patientId","dataToSync","chunkSize","onError","onProgress","progress","service","getInstance","onSyncError","error","updateProgress","nextProgress","measurementTypeKey","startSync","registerAndroidHealthConnectBackgroundTask","task","taskName","registerHeadlessTask"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-background-sync.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AppRegistry","NativeModules","Platform","AndroidHealthSyncService","ANDROID_HEALTH_CONNECT_BACKGROUND_TASK","getNativeModule","nativeModule","OvokBackgroundSync","Error","startAndroidBluetoothForegroundService","options","OS","startBluetoothForegroundService","stopAndroidBluetoothForegroundService","stopBluetoothForegroundService","isAndroidBatteryOptimizationIgnored","isIgnoringBatteryOptimizations","requestAndroidBatteryOptimizationExemption","requestIgnoreBatteryOptimizations","scheduleAndroidHealthConnectSync","scheduleHealthConnectSync","cancelAndroidHealthConnectSync","cancelHealthConnectSync","runAndroidHealthConnectSync","client","patientId","dataToSync","chunkSize","onError","onProgress","progress","service","getInstance","onSyncError","error","updateProgress","nextProgress","measurementTypeKey","startSync","registerAndroidHealthConnectBackgroundTask","task","taskName","registerHeadlessTask"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-background-sync.ts"],"mappings":";;AACA,SAASA,WAAW,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEnE,SAASC,wBAAwB,QAAQ,sDAAmD;AAK5F,MAAMC,sCAAsC,GAC1C,iCAAiC;AA2CnC,MAAMC,eAAe,GAAGA,CAAA,KAAkC;EACxD,MAAMC,YAAY,GAAGL,aAAa,CAACM,kBAEtB;EAEb,IAAI,CAACD,YAAY,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,8GACF,CAAC;EACH;EAEA,OAAOF,YAAY;AACrB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMG,sCAAsC,GAAG,MAAAA,CAC7CC,OAAiD,GAAG,CAAC,CAAC,KACpC;EAClB,IAAIR,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA,MAAMN,eAAe,CAAC,CAAC,CAACO,+BAA+B,CAACF,OAAO,CAAC;AAClE,CAAC;AAED,MAAMG,qCAAqC,GAAG,MAAAA,CAAA,KAA2B;EACvE,IAAIX,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA,MAAMN,eAAe,CAAC,CAAC,CAACS,8BAA8B,CAAC,CAAC;AAC1D,CAAC;;AAED;AACA,MAAMC,mCAAmC,GAAG,MAAAA,CAAA,KAA8B;EACxE,IAAIb,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;IAC7B,OAAO,IAAI;EACb;EAEA,OAAON,eAAe,CAAC,CAAC,CAACW,8BAA8B,CAAC,CAAC;AAC3D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,0CAA0C,GAC9C,MAAAA,CAAA,KAA8B;EAC5B,IAAIf,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;IAC7B,OAAO,IAAI;EACb;EAEA,OAAON,eAAe,CAAC,CAAC,CAACa,iCAAiC,CAAC,CAAC;AAC9D,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAMC,gCAAgC,GAAG,MAAAA,CACvCT,OAAkD,GAAG,CAAC,CAAC,KACrC;EAClB,IAAIR,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA,MAAMN,eAAe,CAAC,CAAC,CAACe,yBAAyB,CAACV,OAAO,CAAC;AAC5D,CAAC;AAED,MAAMW,8BAA8B,GAAG,MAAAA,CAAA,KAA2B;EAChE,IAAInB,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEA,MAAMN,eAAe,CAAC,CAAC,CAACiB,uBAAuB,CAAC,CAAC;AACnD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,2BAA2B,GAAG,MAAAA,CAAO;EACzCC,MAAM;EACNC,SAAS;EACTC,UAAU;EACVC,SAAS;EACTC,OAAO;EACPC;AACkC,CAAC,KAAoB;EACvD,MAAMC,QAAsD,GAAG,CAAC,CAAC;EAEjE,MAAMC,OAAO,GAAG5B,wBAAwB,CAAC6B,WAAW,CAAC;IACnDR,MAAM;IACNC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTM,WAAW,EAAGC,KAAK,IAAKN,OAAO,GAAGM,KAAK,CAAC;IACxCC,cAAc,EAAGC,YAAY,IAAK;MAChCN,QAAQ,CAACM,YAAY,CAACC,kBAAkB,CAAC,GAAGD,YAAY;MACxDP,UAAU,GAAGC,QAAQ,CAAC;IACxB;EACF,CAAC,CAAC;EAEF,MAAMC,OAAO,CAACO,SAAS,CAAC,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,0CAA0C,GAAGA,CACjDC,IAAwC,EACxCC,QAAQ,GAAGrC,sCAAsC,KACxC;EACT,IAAIF,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EAEAX,WAAW,CAAC0C,oBAAoB,CAACD,QAAQ,EAAE,MAAMD,IAAI,CAAC;AACxD,CAAC;AAED,SACEpC,sCAAsC,EAKtCiB,8BAA8B,EAC9BN,mCAAmC,EACnCwB,0CAA0C,EAC1CtB,0CAA0C,EAC1CM,2BAA2B,EAC3BJ,gCAAgC,EAChCV,sCAAsC,EACtCI,qCAAqC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { Platform } from "react-native";
|
|
4
|
+
import { AppState, Platform } from "react-native";
|
|
5
5
|
import { toBluetoothError } from "../bt-management/types/bluetooth-error.js";
|
|
6
6
|
import { startAndroidBluetoothForegroundService, requestAndroidBatteryOptimizationExemption, stopAndroidBluetoothForegroundService } from "./android-background-sync.js";
|
|
7
7
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -18,7 +18,7 @@ const AndroidBluetoothForegroundService = ({
|
|
|
18
18
|
if (Platform.OS !== "android" || !enabled) {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
-
const
|
|
21
|
+
const requestExemption = async () => {
|
|
22
22
|
if (requestBatteryOptimizationExemption) {
|
|
23
23
|
try {
|
|
24
24
|
await requestAndroidBatteryOptimizationExemption();
|
|
@@ -28,6 +28,9 @@ const AndroidBluetoothForegroundService = ({
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
};
|
|
32
|
+
const start = async () => {
|
|
33
|
+
await requestExemption();
|
|
31
34
|
await startAndroidBluetoothForegroundService({
|
|
32
35
|
...(notificationBody === undefined ? {} : {
|
|
33
36
|
notificationBody
|
|
@@ -42,7 +45,16 @@ const AndroidBluetoothForegroundService = ({
|
|
|
42
45
|
error: toBluetoothError(error)
|
|
43
46
|
});
|
|
44
47
|
});
|
|
48
|
+
const removeForegroundListener = requestBatteryOptimizationExemption ? (() => {
|
|
49
|
+
const subscription = AppState.addEventListener("change", state => {
|
|
50
|
+
if (state === "active") {
|
|
51
|
+
void requestExemption();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return () => subscription.remove();
|
|
55
|
+
})() : undefined;
|
|
45
56
|
return () => {
|
|
57
|
+
removeForegroundListener?.();
|
|
46
58
|
void stopAndroidBluetoothForegroundService().catch(error => {
|
|
47
59
|
onError?.({
|
|
48
60
|
error: toBluetoothError(error)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","toBluetoothError","startAndroidBluetoothForegroundService","requestAndroidBatteryOptimizationExemption","stopAndroidBluetoothForegroundService","Fragment","_Fragment","jsx","_jsx","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","requestBatteryOptimizationExemption","useEffect","OS","
|
|
1
|
+
{"version":3,"names":["React","AppState","Platform","toBluetoothError","startAndroidBluetoothForegroundService","requestAndroidBatteryOptimizationExemption","stopAndroidBluetoothForegroundService","Fragment","_Fragment","jsx","_jsx","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","requestBatteryOptimizationExemption","useEffect","OS","requestExemption","error","start","undefined","catch","removeForegroundListener","subscription","addEventListener","state","remove"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-bluetooth-foreground-service.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAIjD,SAASC,gBAAgB,QAAQ,2CAAwC;AAEzE,SACEC,sCAAsC,EACtCC,0CAA0C,EAC1CC,qCAAqC,QAEhC,8BAA2B;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AASnC,MAAMC,iCAAiC,GAAGA,CAAC;EACzCC,OAAO;EACPC,QAAQ;EACRC,OAAO;EACPC;AACsC,CAAC,KAAK;EAC5C,MAAMC,gBAAgB,GAAGF,OAAO,EAAEE,gBAAgB;EAClD,MAAMC,iBAAiB,GAAGH,OAAO,EAAEG,iBAAiB;EAEpD,MAAMC,mCAAmC,GACvCJ,OAAO,EAAEI,mCAAmC,KAAK,IAAI;EAEvDlB,KAAK,CAACmB,SAAS,CAAC,MAAM;IACpB,IAAIjB,QAAQ,CAACkB,EAAE,KAAK,SAAS,IAAI,CAACR,OAAO,EAAE;MACzC;IACF;IAEA,MAAMS,gBAAgB,GAAG,MAAAA,CAAA,KAAY;MACnC,IAAIH,mCAAmC,EAAE;QACvC,IAAI;UACF,MAAMb,0CAA0C,CAAC,CAAC;QACpD,CAAC,CAAC,OAAOiB,KAAc,EAAE;UACvBP,OAAO,GAAG;YAAEO,KAAK,EAAEnB,gBAAgB,CAACmB,KAAK;UAAE,CAAC,CAAC;QAC/C;MACF;IACF,CAAC;IAED,MAAMC,KAAK,GAAG,MAAAA,CAAA,KAAY;MACxB,MAAMF,gBAAgB,CAAC,CAAC;MACxB,MAAMjB,sCAAsC,CAAC;QAC3C,IAAIY,gBAAgB,KAAKQ,SAAS,GAAG,CAAC,CAAC,GAAG;UAAER;QAAiB,CAAC,CAAC;QAC/D,IAAIC,iBAAiB,KAAKO,SAAS,GAAG,CAAC,CAAC,GAAG;UAAEP;QAAkB,CAAC;MAClE,CAAC,CAAC;IACJ,CAAC;IAED,KAAKM,KAAK,CAAC,CAAC,CAACE,KAAK,CAAEH,KAAc,IAAK;MACrCP,OAAO,GAAG;QAAEO,KAAK,EAAEnB,gBAAgB,CAACmB,KAAK;MAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAMI,wBAAwB,GAAGR,mCAAmC,GAChE,CAAC,MAAM;MACL,MAAMS,YAAY,GAAG1B,QAAQ,CAAC2B,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;QAClE,IAAIA,KAAK,KAAK,QAAQ,EAAE;UACtB,KAAKR,gBAAgB,CAAC,CAAC;QACzB;MACF,CAAC,CAAC;MAEF,OAAO,MAAMM,YAAY,CAACG,MAAM,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,GACJN,SAAS;IAEb,OAAO,MAAM;MACXE,wBAAwB,GAAG,CAAC;MAC5B,KAAKpB,qCAAqC,CAAC,CAAC,CAACmB,KAAK,CAAEH,KAAc,IAAK;QACrEP,OAAO,GAAG;UAAEO,KAAK,EAAEnB,gBAAgB,CAACmB,KAAK;QAAE,CAAC,CAAC;MAC/C,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAE,CACDV,OAAO,EACPI,gBAAgB,EAChBC,iBAAiB,EACjBF,OAAO,EACPG,mCAAmC,CACpC,CAAC;EAEF,oBAAOR,IAAA,CAAAF,SAAA;IAAAK,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;AAED,SAASF,iCAAiC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { NativeModules, Platform } from "react-native";
|
|
4
|
+
import { AppState, NativeModules, Platform } from "react-native";
|
|
5
5
|
import { toBluetoothError } from "../types/bluetooth-error.js";
|
|
6
6
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
const getNativeModule = () => {
|
|
@@ -44,12 +44,30 @@ export const AndroidBluetoothForegroundService = ({
|
|
|
44
44
|
})
|
|
45
45
|
});
|
|
46
46
|
};
|
|
47
|
+
const requestExemption = async () => {
|
|
48
|
+
if (!requestBatteryOptimizationExemption) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
await getNativeModule().requestIgnoreBatteryOptimizations();
|
|
53
|
+
} catch (error) {
|
|
54
|
+
onError?.({
|
|
55
|
+
error: toBluetoothError(error)
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const foregroundSubscription = requestBatteryOptimizationExemption ? AppState.addEventListener("change", state => {
|
|
60
|
+
if (state === "active") {
|
|
61
|
+
void requestExemption();
|
|
62
|
+
}
|
|
63
|
+
}) : undefined;
|
|
47
64
|
void start().catch(error => {
|
|
48
65
|
onError?.({
|
|
49
66
|
error: toBluetoothError(error)
|
|
50
67
|
});
|
|
51
68
|
});
|
|
52
69
|
return () => {
|
|
70
|
+
foregroundSubscription?.remove();
|
|
53
71
|
void getNativeModule().stopBluetoothForegroundService().catch(error => {
|
|
54
72
|
onError?.({
|
|
55
73
|
error: toBluetoothError(error)
|
package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NativeModules","Platform","toBluetoothError","Fragment","_Fragment","jsx","_jsx","getNativeModule","nativeModule","OvokBackgroundSync","Error","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","requestBatteryOptimizationExemption","useEffect","OS","start","requestIgnoreBatteryOptimizations","error","startBluetoothForegroundService","undefined","catch","stopBluetoothForegroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/android-bluetooth-foreground-service.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["React","AppState","NativeModules","Platform","toBluetoothError","Fragment","_Fragment","jsx","_jsx","getNativeModule","nativeModule","OvokBackgroundSync","Error","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","requestBatteryOptimizationExemption","useEffect","OS","start","requestIgnoreBatteryOptimizations","error","startBluetoothForegroundService","undefined","requestExemption","foregroundSubscription","addEventListener","state","catch","remove","stopBluetoothForegroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/android-bluetooth-foreground-service.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
/* eslint-disable max-lines */
|
|
4
4
|
|
|
5
5
|
import { recordOvokDuration, recordOvokMetric, withOvokSpan } from "../../helpers/utils/telemetry.js";
|
|
6
|
+
import { getHealthDataMode } from "../types/health-sync-keys.js";
|
|
6
7
|
import { isSyncRetryCancelled, withSyncRetries } from "../utils/retry-save.js";
|
|
7
8
|
import { DataProcessor } from "./managers/data-processor.js";
|
|
8
9
|
import { StorageManager } from "./managers/storage-manager.js";
|
|
@@ -68,7 +69,7 @@ export class BaseHealthSyncService {
|
|
|
68
69
|
if (!data) {
|
|
69
70
|
continue;
|
|
70
71
|
}
|
|
71
|
-
const latestValidStartDate = this.dataProcessor.getLatestValidStartDate(this.stateManager.latestObservationDates, data);
|
|
72
|
+
const latestValidStartDate = this.dataProcessor.getLatestValidStartDate(this.stateManager.latestObservationDates, data, getHealthDataMode(measurementTypeKey, data.mode));
|
|
72
73
|
const totalCount = await this.dataProcessor.getTotalRecordsCountForType(measurementTypeKey, data, latestValidStartDate);
|
|
73
74
|
this.progressManager.setTotalObservations(measurementTypeKey, totalCount);
|
|
74
75
|
}
|
|
@@ -89,7 +90,7 @@ export class BaseHealthSyncService {
|
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
92
|
async syncDataByType(measurementTypeKey, data) {
|
|
92
|
-
const latestValidStartDate = this.dataProcessor.getLatestValidStartDate(this.stateManager.latestObservationDates, data);
|
|
93
|
+
const latestValidStartDate = this.dataProcessor.getLatestValidStartDate(this.stateManager.latestObservationDates, data, getHealthDataMode(measurementTypeKey, data.mode));
|
|
93
94
|
let hasAnchor = true;
|
|
94
95
|
while (hasAnchor && !this.stateManager.shouldStopSync) {
|
|
95
96
|
const {
|
|
@@ -102,7 +103,7 @@ export class BaseHealthSyncService {
|
|
|
102
103
|
if (this.stateManager.shouldStopSync) {
|
|
103
104
|
break;
|
|
104
105
|
}
|
|
105
|
-
const entries = this.dataProcessor.generateObservationEntries(observationBodies, observationSyncIds);
|
|
106
|
+
const entries = this.dataProcessor.generateObservationEntries(observationBodies, observationSyncIds, getHealthDataMode(measurementTypeKey, data.mode));
|
|
106
107
|
if (entries.length !== 0 && !this.stateManager.shouldStopSync) {
|
|
107
108
|
try {
|
|
108
109
|
const startedAt = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["recordOvokDuration","recordOvokMetric","withOvokSpan","isSyncRetryCancelled","withSyncRetries","DataProcessor","StorageManager","SyncProgressManager","SyncStateManager","BaseHealthSyncService","constructor","props","client","patientId","dataToSync","onSyncError","progressManager","updateProgress","stateManager","storageManager","getProviderName","dataProcessor","chunkSize","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","startSync","once","provider","runSync","isInitialized","Error","resume","setNotStartedStatuses","initialDataFetched","initializeSync","processAllDataTypes","setPauseStatuses","pauseReason","error","stopSync","resetAll","reset","shouldStopSync","pauseSync","reason","pause","latestObservationDates","getLatestObservationDates","calculateTotalCounts","key","Object","keys","measurementTypeKey","data","getDataForMeasurementType","latestValidStartDate","getLatestValidStartDate","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasAnchor","observationBodies","observationSyncIds","currentHasAnchor","anchors","getObservationBodiesForType","entries","generateObservationEntries","length","startedAt","Date","now","result","saveObservations","addResult","incrementSyncedObservations","saveAnchors"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":";;AAAA;;AAKA,SACEA,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,QACP,kCAA+B;
|
|
1
|
+
{"version":3,"names":["recordOvokDuration","recordOvokMetric","withOvokSpan","getHealthDataMode","isSyncRetryCancelled","withSyncRetries","DataProcessor","StorageManager","SyncProgressManager","SyncStateManager","BaseHealthSyncService","constructor","props","client","patientId","dataToSync","onSyncError","progressManager","updateProgress","stateManager","storageManager","getProviderName","dataProcessor","chunkSize","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","startSync","once","provider","runSync","isInitialized","Error","resume","setNotStartedStatuses","initialDataFetched","initializeSync","processAllDataTypes","setPauseStatuses","pauseReason","error","stopSync","resetAll","reset","shouldStopSync","pauseSync","reason","pause","latestObservationDates","getLatestObservationDates","calculateTotalCounts","key","Object","keys","measurementTypeKey","data","getDataForMeasurementType","latestValidStartDate","getLatestValidStartDate","mode","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasAnchor","observationBodies","observationSyncIds","currentHasAnchor","anchors","getObservationBodiesForType","entries","generateObservationEntries","length","startedAt","Date","now","result","saveObservations","addResult","incrementSyncedObservations","saveAnchors"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":";;AAAA;;AAKA,SACEA,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,QACP,kCAA+B;AAStC,SAASC,iBAAiB,QAAuB,8BAA2B;AAE5E,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,wBAAqB;AAE3E,SAASC,aAAa,QAAQ,8BAA2B;AACzD,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,mBAAmB,QAAQ,qCAAkC;AACtE,SAASC,gBAAgB,QAAQ,kCAA+B;AAEhE,OAAO,MAAeC,qBAAqB,CAKzC;EAeAC,WAAWA,CAACC,KAAoC,EAAE;IAChD,IAAI,CAACC,MAAM,GAAGD,KAAK,CAACC,MAAM;IAC1B,IAAI,CAACC,SAAS,GAAGF,KAAK,CAACE,SAAS;IAChC,IAAI,CAACC,UAAU,GAAGH,KAAK,CAACG,UAAU;IAClC,IAAI,CAACC,WAAW,GAAGJ,KAAK,CAACI,WAAW;IAEpC,IAAI,CAACC,eAAe,GAAG,IAAIT,mBAAmB,CAC5CI,KAAK,CAACM,cAAc,EACpBN,KAAK,CAACG,UACR,CAAC;IACD,IAAI,CAACI,YAAY,GAAG,IAAIV,gBAAgB,CAAC,CAAC;IAC1C,IAAI,CAACW,cAAc,GAAG,IAAIb,cAAc,CACtCK,KAAK,CAACC,MAAM,EACZ,IAAI,CAACQ,eAAe,CAAC,CACvB,CAAC;IACD,IAAI,CAACC,aAAa,GAAG,IAAIhB,aAAa,CACpCM,KAAK,CAACC,MAAM,EACZD,KAAK,CAACE,SAAS,EACf,IAAI,CAACO,eAAe,CAAC,CAAC,EACtBT,KAAK,CAACW,SAAS,IAAI,IAAI,EACvB,IAAI,CAACH,cAAc,EACnB,IAAI,CAACI,sBAAsB,CAAC,CAAC,EAC7B,IAAI,CAACC,2BAA2B,CAAC,CAAC,EAClC,IAAI,CAACC,oBAAoB,CAAC,CAC5B,CAAC;EACH;EAgBA;EACA,MAAaC,SAASA,CAAA,EAAkB;IACtC,OAAO,IAAI,CAACR,YAAY,CAACS,IAAI,CAAC,MAC5B1B,YAAY,CAAC,eAAe,EAAE;MAAE2B,QAAQ,EAAE,IAAI,CAACR,eAAe,CAAC;IAAE,CAAC,EAAE,MAClE,IAAI,CAACS,OAAO,CAAC,CACf,CACF,CAAC;EACH;EAEA,MAAcA,OAAOA,CAAA,EAAkB;IACrC,IAAI;MACF,IAAI,CAAC,IAAI,CAACjB,MAAM,CAACkB,aAAa,EAAE;QAC9B,IAAI,CAACf,WAAW,CAAC,IAAIgB,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAErD;MACF;MAEA,IAAI,CAAC,IAAI,CAAClB,SAAS,EAAE;QACnB,IAAI,CAACE,WAAW,CAAC,IAAIgB,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhD;MACF;MAEA,IAAI,CAACb,YAAY,CAACc,MAAM,CAAC,CAAC;MAC1B,IAAI,CAAChB,eAAe,CAACiB,qBAAqB,CAAC,CAAC;MAE5C,IAAI,CAAC,IAAI,CAACf,YAAY,CAACgB,kBAAkB,EAAE;QACzC,MAAM,IAAI,CAACC,cAAc,CAAC,CAAC;MAC7B;MAEA,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAEhC,IAAI,CAACpB,eAAe,CAACqB,gBAAgB,CAAC,IAAI,CAACnB,YAAY,CAACoB,WAAW,CAAC;IACtE,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,IAAI,CAACxB,WAAW,CAACwB,KAAc,CAAC;IAClC;EACF;EAEA,MAAaC,QAAQA,CAAA,EAAkB;IACrC,IAAI,CAACxB,eAAe,CAACyB,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAACvB,YAAY,CAACwB,KAAK,CAAC,CAAC;IACzB,IAAI,CAACxB,YAAY,CAACyB,cAAc,GAAG,IAAI;EACzC;EAEA,MAAaC,SAASA,CAACC,MAAwB,EAAiB;IAC9D,IAAI,CAAC3B,YAAY,CAAC4B,KAAK,CAACD,MAAM,CAAC;IAC/B,IAAI,CAAC7B,eAAe,CAACqB,gBAAgB,CAACQ,MAAM,CAAC;EAC/C;EAEA,MAAcV,cAAcA,CAAA,EAAkB;IAC5C,MAAMY,sBAAsB,GAC1B,MAAM,IAAI,CAAC1B,aAAa,CAAC2B,yBAAyB,CAAC,IAAI,CAAClC,UAAU,CAAC;IAErE,IAAI,CAACI,YAAY,CAAC6B,sBAAsB,GAAGA,sBAAsB;IAEjE,MAAM,IAAI,CAACE,oBAAoB,CAAC,CAAC;IACjC,IAAI,CAAC/B,YAAY,CAACgB,kBAAkB,GAAG,IAAI;EAC7C;EAEA,MAAce,oBAAoBA,CAAA,EAAkB;IAClD,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,IAAI,CAAC,IAAI,CAACtC,UAAqC,CAAC,EAAE;MACzE,MAAMuC,kBAAkB,GAAGH,GAAoB;MAC/C,MAAMI,IAAI,GAAG,IAAI,CAACC,yBAAyB,CAACF,kBAAkB,CAAC;MAE/D,IAAI,CAACC,IAAI,EAAE;QACT;MACF;MAEA,MAAME,oBAAoB,GAAG,IAAI,CAACnC,aAAa,CAACoC,uBAAuB,CACrE,IAAI,CAACvC,YAAY,CAAC6B,sBAAsB,EACxCO,IAAI,EACJpD,iBAAiB,CAACmD,kBAAkB,EAAEC,IAAI,CAACI,IAAI,CACjD,CAAC;MAED,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACtC,aAAa,CAACuC,2BAA2B,CACrEP,kBAAkB,EAClBC,IAAI,EACJE,oBACF,CAAC;MAED,IAAI,CAACxC,eAAe,CAAC6C,oBAAoB,CAACR,kBAAkB,EAAEM,UAAU,CAAC;IAC3E;EACF;EAEA,MAAcvB,mBAAmBA,CAAA,EAAkB;IACjD,KAAK,MAAMc,GAAG,IAAIC,MAAM,CAACC,IAAI,CAC3B,IAAI,CAACtC,UACP,CAAC,EAAE;MACD,IAAI,IAAI,CAACI,YAAY,CAACyB,cAAc,EAAE;QACpC;MACF;MAEA,MAAMU,kBAAkB,GAAGH,GAAoB;MAC/C,MAAMI,IAAI,GAAG,IAAI,CAACC,yBAAyB,CAACF,kBAAkB,CAAC;MAE/D,IAAI,CAACC,IAAI,EAAE;QACT,IAAI,CAACtC,eAAe,CAAC8C,SAAS,CAACT,kBAAkB,EAAE,MAAM,CAAC;QAC1D;MACF;MAEA,IAAI,CAACrC,eAAe,CAAC8C,SAAS,CAACT,kBAAkB,EAAE,SAAS,CAAC;MAC7D,MAAM,IAAI,CAACU,cAAc,CAACV,kBAAkB,EAAEC,IAAI,CAAC;IACrD;EACF;EAEA,MAAcS,cAAcA,CAC1BV,kBAAiC,EACjCC,IAA6C,EAC9B;IACf,MAAME,oBAAoB,GAAG,IAAI,CAACnC,aAAa,CAACoC,uBAAuB,CACrE,IAAI,CAACvC,YAAY,CAAC6B,sBAAsB,EACxCO,IAAI,EACJpD,iBAAiB,CAACmD,kBAAkB,EAAEC,IAAI,CAACI,IAAI,CACjD,CAAC;IAED,IAAIM,SAAS,GAAG,IAAI;IAEpB,OAAOA,SAAS,IAAI,CAAC,IAAI,CAAC9C,YAAY,CAACyB,cAAc,EAAE;MACrD,MAAM;QACJsB,iBAAiB;QACjBC,kBAAkB;QAClBF,SAAS,EAAEG,gBAAgB;QAC3BC;MACF,CAAC,GAAG,MAAM,IAAI,CAAC/C,aAAa,CAACgD,2BAA2B,CACtDhB,kBAAkB,EAClBC,IAAI,EACJE,oBACF,CAAC;MAEDQ,SAAS,GAAGG,gBAAgB;MAE5B,IAAI,IAAI,CAACjD,YAAY,CAACyB,cAAc,EAAE;QACpC;MACF;MAEA,MAAM2B,OAAO,GAAG,IAAI,CAACjD,aAAa,CAACkD,0BAA0B,CAC3DN,iBAAiB,EACjBC,kBAAkB,EAClBhE,iBAAiB,CAACmD,kBAAkB,EAAEC,IAAI,CAACI,IAAI,CACjD,CAAC;MAED,IAAIY,OAAO,CAACE,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACtD,YAAY,CAACyB,cAAc,EAAE;QAC7D,IAAI;UACF,MAAM8B,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;UAE5B,MAAMC,MAAM,GAAG,MAAMxE,eAAe,CAClC,MAAM,IAAI,CAACe,cAAc,CAAC0D,gBAAgB,CAACP,OAAO,CAAC,EACnD,MAAM,IAAI,CAACpD,YAAY,CAACyB,cAC1B,CAAC;UAED,IAAI,IAAI,CAACzB,YAAY,CAACyB,cAAc,EAAE;YACpC;UACF;UAEA3C,gBAAgB,CAAC,8BAA8B,EAAEsE,OAAO,CAACE,MAAM,EAAE;YAC/D5C,QAAQ,EAAE,IAAI,CAACR,eAAe,CAAC,CAAC;YAChCiC;UACF,CAAC,CAAC;UACFtD,kBAAkB,CAChB,gCAAgC,EAChC2E,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS,EACtB;YACE7C,QAAQ,EAAE,IAAI,CAACR,eAAe,CAAC;UACjC,CACF,CAAC;UAED,IAAI,CAACF,YAAY,CAAC4D,SAAS,CAACF,MAAM,CAAC;UACnC,IAAI,CAAC5D,eAAe,CAAC+D,2BAA2B,CAC9C1B,kBAAkB,EAClBiB,OAAO,CAACE,MACV,CAAC;UAED,IAAI,CAACrD,cAAc,CAAC6D,WAAW,CAACZ,OAAO,CAAC;QAC1C,CAAC,CAAC,OAAO7B,KAAK,EAAE;UACd,IAAIpC,oBAAoB,CAACoC,KAAK,CAAC,IAAI,IAAI,CAACrB,YAAY,CAACyB,cAAc,EAAE;YACnE;UACF;UAEA,IAAI,CAAC3B,eAAe,CAAC8C,SAAS,CAACT,kBAAkB,EAAE,QAAQ,CAAC;UAC5D,IAAI,CAACtC,WAAW,CAACwB,KAAc,CAAC;UAEhC;QACF;MACF,CAAC,MAAM;QACL,IAAI,CAACpB,cAAc,CAAC6D,WAAW,CAACZ,OAAO,CAAC;MAC1C;IACF;IAEA,IAAI,CAACpD,eAAe,CAAC8C,SAAS,CAC5BT,kBAAkB,EAClB,IAAI,CAACnC,YAAY,CAACyB,cAAc,GAAG,MAAM,GAAG,WAC9C,CAAC;EACH;EAEQY,yBAAyBA,CAACF,kBAAiC,EAAE;IACnE,OAAO,IAAI,CAACvC,UAAU,CAACuC,kBAAkB,CAAC;EAC5C;AACF","ignoreList":[]}
|
|
@@ -90,17 +90,20 @@ export class DataProcessor {
|
|
|
90
90
|
anchors: newAnchors
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
|
-
generateObservationEntries(observationBodies, observationSyncIds) {
|
|
93
|
+
generateObservationEntries(observationBodies, observationSyncIds, mode) {
|
|
94
94
|
return generateObservationEntry({
|
|
95
95
|
groupedObservationBodies: observationBodies,
|
|
96
96
|
provider: this.provider,
|
|
97
|
-
groupedObservationSyncIds: observationSyncIds
|
|
97
|
+
groupedObservationSyncIds: observationSyncIds,
|
|
98
|
+
mode,
|
|
99
|
+
patientId: this.patientId
|
|
98
100
|
});
|
|
99
101
|
}
|
|
100
|
-
getLatestValidStartDate(latestObservationDates, data) {
|
|
102
|
+
getLatestValidStartDate(latestObservationDates, data, mode) {
|
|
101
103
|
return getLatestValidStartDate({
|
|
102
104
|
latestObservationDates,
|
|
103
|
-
data: data
|
|
105
|
+
data: data,
|
|
106
|
+
mode
|
|
104
107
|
});
|
|
105
108
|
}
|
|
106
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","getHealthDataMode","HealthDataType","generateObservationEntry","getHealthRecordSyncId","getLatestObservationDatesByCode","getLatestValidStartDate","groupSleepSamples","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","Object","values","flatMap","data","typeIdentifiers","map","identifier","code","getLatestObservationDates","codes","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","mode","totalCounts","Promise","all","typeIdentifier","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","typeIdentifierCodes","fromEntries","String","results","newAnchors","result","flat","filter","Boolean","allData","dataGroups","sleep","bloodPressure","Array","from","groups","sample","value","key","Date","getTime","endDate","group","get","push","set","Map","observationBodies","length","undefined","observationSyncIds","hasAnchor","anchors","generateObservationEntries","groupedObservationBodies","groupedObservationSyncIds","latestObservationDates"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":";;AACA,SAASA,kBAAkB,QAAoB,YAAY;AAS3D,SACEC,iBAAiB,EACjBC,cAAc,QAET,iCAA8B;AACrC,SAASC,wBAAwB,QAAQ,2CAAwC;AACjF,SAASC,qBAAqB,QAAQ,0CAAuC;AAC7E,SAASC,+BAA+B,QAAQ,qDAAkD;AAClG,SAASC,uBAAuB,QAAQ,4CAAyC;AACjF,SAASC,iBAAiB,QAAQ,oCAAiC;AAInE,OAAO,MAAMC,aAAa,
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","getHealthDataMode","HealthDataType","generateObservationEntry","getHealthRecordSyncId","getLatestObservationDatesByCode","getLatestValidStartDate","groupSleepSamples","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","Object","values","flatMap","data","typeIdentifiers","map","identifier","code","getLatestObservationDates","codes","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","mode","totalCounts","Promise","all","typeIdentifier","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","typeIdentifierCodes","fromEntries","String","results","newAnchors","result","flat","filter","Boolean","allData","dataGroups","sleep","bloodPressure","Array","from","groups","sample","value","key","Date","getTime","endDate","group","get","push","set","Map","observationBodies","length","undefined","observationSyncIds","hasAnchor","anchors","generateObservationEntries","groupedObservationBodies","groupedObservationSyncIds","latestObservationDates"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,7 +30,9 @@ const createBundleUuid = () => {
|
|
|
30
30
|
const generateObservationEntry = ({
|
|
31
31
|
groupedObservationBodies,
|
|
32
32
|
provider,
|
|
33
|
-
groupedObservationSyncIds
|
|
33
|
+
groupedObservationSyncIds,
|
|
34
|
+
patientId,
|
|
35
|
+
mode
|
|
34
36
|
}) => {
|
|
35
37
|
return groupedObservationBodies.map((observationBodies, groupIndex) => {
|
|
36
38
|
const fullUrls = observationBodies.map(() => `urn:uuid:${createBundleUuid()}`);
|
|
@@ -43,12 +45,21 @@ const generateObservationEntry = ({
|
|
|
43
45
|
});
|
|
44
46
|
const fullUrl = fullUrls[bodyIndex];
|
|
45
47
|
const syncIdentifierSystem = "https://api.ovok.com/fhir/StructureDefinition/observation-sync-id";
|
|
48
|
+
const searchParams = new URLSearchParams();
|
|
49
|
+
searchParams.set("identifier", `${syncIdentifierSystem}|${syncIdentifier}`);
|
|
50
|
+
if (patientId) {
|
|
51
|
+
searchParams.set("subject", `Patient/${patientId}`);
|
|
52
|
+
}
|
|
53
|
+
const search = searchParams.toString();
|
|
54
|
+
const isDailyAggregate = mode === "daily-total" || mode === "daily-summary";
|
|
46
55
|
return {
|
|
47
56
|
fullUrl,
|
|
48
57
|
request: {
|
|
49
|
-
method: "POST",
|
|
50
|
-
url: "Observation",
|
|
51
|
-
|
|
58
|
+
method: isDailyAggregate ? "PUT" : "POST",
|
|
59
|
+
url: isDailyAggregate ? `Observation?${search}` : "Observation",
|
|
60
|
+
...(isDailyAggregate ? {} : {
|
|
61
|
+
ifNoneExist: search
|
|
62
|
+
})
|
|
52
63
|
},
|
|
53
64
|
resource: {
|
|
54
65
|
...observationBody,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getObservationCode","observation","code","coding","map","system","join","text","getObservationTime","effectivePeriod","start","end","effectiveDateTime","slice","getStableObservationId","provider","sourceId","bodyIndex","id","createBundleUuid","cryptoApi","globalThis","crypto","randomUuid","randomUUID","undefined","call","bytes","Array","from","length","Math","floor","random","hex","byte","toString","padStart","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","observationBodies","groupIndex","fullUrls","observationBody","syncIdentifier","fullUrl","syncIdentifierSystem","request","method","url","ifNoneExist","
|
|
1
|
+
{"version":3,"names":["getObservationCode","observation","code","coding","map","system","join","text","getObservationTime","effectivePeriod","start","end","effectiveDateTime","slice","getStableObservationId","provider","sourceId","bodyIndex","id","createBundleUuid","cryptoApi","globalThis","crypto","randomUuid","randomUUID","undefined","call","bytes","Array","from","length","Math","floor","random","hex","byte","toString","padStart","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","patientId","mode","observationBodies","groupIndex","fullUrls","observationBody","syncIdentifier","fullUrl","syncIdentifierSystem","searchParams","URLSearchParams","set","search","isDailyAggregate","request","method","url","ifNoneExist","resource","identifier","value","device","hasMember","reference","flat"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/generate-observation-entry.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,6 +15,10 @@ const asText = value => {
|
|
|
15
15
|
export const getHealthRecordSyncId = (record, measurementTypeKey) => {
|
|
16
16
|
const healthRecord = record;
|
|
17
17
|
const type = asText(healthRecord.quantityType ?? healthRecord.recordType) ?? measurementTypeKey;
|
|
18
|
+
const sourceId = asText(healthRecord.uuid ?? healthRecord.metadata?.id);
|
|
19
|
+
if (sourceId) {
|
|
20
|
+
return `${type}:${sourceId}`;
|
|
21
|
+
}
|
|
18
22
|
const start = asText(healthRecord.startDate ?? healthRecord.startTime);
|
|
19
23
|
const end = asText(healthRecord.endDate ?? healthRecord.endTime);
|
|
20
24
|
if (start || end) {
|
|
@@ -22,9 +26,8 @@ export const getHealthRecordSyncId = (record, measurementTypeKey) => {
|
|
|
22
26
|
}
|
|
23
27
|
const time = asText(healthRecord.time);
|
|
24
28
|
if (time) {
|
|
25
|
-
return `${type}:${time
|
|
29
|
+
return `${type}:${time}`;
|
|
26
30
|
}
|
|
27
|
-
|
|
28
|
-
return sourceId ? `${type}:${sourceId}` : undefined;
|
|
31
|
+
return undefined;
|
|
29
32
|
};
|
|
30
33
|
//# sourceMappingURL=get-health-record-sync-id.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["asText","value","Date","toISOString","String","undefined","getHealthRecordSyncId","record","measurementTypeKey","healthRecord","type","quantityType","recordType","
|
|
1
|
+
{"version":3,"names":["asText","value","Date","toISOString","String","undefined","getHealthRecordSyncId","record","measurementTypeKey","healthRecord","type","quantityType","recordType","sourceId","uuid","metadata","id","start","startDate","startTime","end","endDate","endTime","time"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-health-record-sync-id.ts"],"mappings":";;AAYA,MAAMA,MAAM,GAAIC,KAAc,IAAyB;EACrD,IAAIA,KAAK,YAAYC,IAAI,EAAE;IACzB,OAAOD,KAAK,CAACE,WAAW,CAAC,CAAC;EAC5B;EAEA,OAAO,OAAOF,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,GACzDG,MAAM,CAACH,KAAK,CAAC,GACbI,SAAS;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAGA,CACnCC,MAAe,EACfC,kBAA0B,KACH;EACvB,MAAMC,YAAY,GAAGF,MAA0B;EAE/C,MAAMG,IAAI,GACRV,MAAM,CAACS,YAAY,CAACE,YAAY,IAAIF,YAAY,CAACG,UAAU,CAAC,IAC5DJ,kBAAkB;EAEpB,MAAMK,QAAQ,GAAGb,MAAM,CAACS,YAAY,CAACK,IAAI,IAAIL,YAAY,CAACM,QAAQ,EAAEC,EAAE,CAAC;EAEvE,IAAIH,QAAQ,EAAE;IACZ,OAAO,GAAGH,IAAI,IAAIG,QAAQ,EAAE;EAC9B;EAEA,MAAMI,KAAK,GAAGjB,MAAM,CAACS,YAAY,CAACS,SAAS,IAAIT,YAAY,CAACU,SAAS,CAAC;EACtE,MAAMC,GAAG,GAAGpB,MAAM,CAACS,YAAY,CAACY,OAAO,IAAIZ,YAAY,CAACa,OAAO,CAAC;EAEhE,IAAIL,KAAK,IAAIG,GAAG,EAAE;IAChB,OAAO,GAAGV,IAAI,IAAIO,KAAK,IAAIG,GAAG,IAAIA,GAAG,IAAIH,KAAK,EAAE;EAClD;EAEA,MAAMM,IAAI,GAAGvB,MAAM,CAACS,YAAY,CAACc,IAAI,CAAC;EAEtC,IAAIA,IAAI,EAAE;IACR,OAAO,GAAGb,IAAI,IAAIa,IAAI,EAAE;EAC1B;EAEA,OAAOlB,SAAS;AAClB,CAAC","ignoreList":[]}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { subDays } from "date-fns";
|
|
3
4
|
export const getLatestValidStartDate = ({
|
|
4
5
|
latestObservationDates,
|
|
5
|
-
data
|
|
6
|
+
data,
|
|
7
|
+
mode
|
|
6
8
|
}) => {
|
|
7
9
|
if (!data) {
|
|
8
10
|
return undefined;
|
|
9
11
|
}
|
|
10
12
|
const latestObservationDate = latestObservationDates.find(latestObservationDate => data.typeIdentifiers.some(identifier => identifier.code === latestObservationDate.code))?.date;
|
|
11
13
|
let latestValidStartDate;
|
|
12
|
-
const
|
|
14
|
+
const latestDate = latestObservationDate ? new Date(latestObservationDate) : undefined;
|
|
15
|
+
const dates = [latestDate && (mode === "daily-total" || mode === "daily-summary" || data.mode === "daily-total" || data.mode === "daily-summary") ? subDays(latestDate, 1) : latestDate, data.minDate].filter(Boolean);
|
|
13
16
|
if (dates.length > 0) {
|
|
14
17
|
latestValidStartDate = new Date(Math.max(...dates.map(date => date.getTime())));
|
|
15
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getLatestValidStartDate","latestObservationDates","data","undefined","latestObservationDate","find","typeIdentifiers","some","identifier","code","date","latestValidStartDate","
|
|
1
|
+
{"version":3,"names":["subDays","getLatestValidStartDate","latestObservationDates","data","mode","undefined","latestObservationDate","find","typeIdentifiers","some","identifier","code","date","latestValidStartDate","latestDate","Date","dates","minDate","filter","Boolean","length","Math","max","map","getTime"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-latest-valid-start-date.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,UAAU;AAgBlC,OAAO,MAAMC,uBAAuB,GAAGA,CAAC;EACtCC,sBAAsB;EACtBC,IAAI;EACJC;AAC4B,CAAC,KAAK;EAClC,IAAI,CAACD,IAAI,EAAE;IACT,OAAOE,SAAS;EAClB;EAEA,MAAMC,qBAAqB,GAAGJ,sBAAsB,CAACK,IAAI,CACtDD,qBAAqB,IACpBH,IAAI,CAACK,eAAe,CAACC,IAAI,CACtBC,UAAU,IAAKA,UAAU,CAACC,IAAI,KAAKL,qBAAqB,CAACK,IAC5D,CACJ,CAAC,EAAEC,IAAI;EAEP,IAAIC,oBAAsC;EAE1C,MAAMC,UAAU,GAAGR,qBAAqB,GACpC,IAAIS,IAAI,CAACT,qBAAqB,CAAC,GAC/BD,SAAS;EAEb,MAAMW,KAAK,GAAG,CACZF,UAAU,KACTV,IAAI,KAAK,aAAa,IACrBA,IAAI,KAAK,eAAe,IACxBD,IAAI,CAACC,IAAI,KAAK,aAAa,IAC3BD,IAAI,CAACC,IAAI,KAAK,eAAe,CAAC,GAC5BJ,OAAO,CAACc,UAAU,EAAE,CAAC,CAAC,GACtBA,UAAU,EACdX,IAAI,CAACc,OAAO,CACb,CAACC,MAAM,CAACC,OAAO,CAAW;EAE3B,IAAIH,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;IACpBP,oBAAoB,GAAG,IAAIE,IAAI,CAC7BM,IAAI,CAACC,GAAG,CAAC,GAAGN,KAAK,CAACO,GAAG,CAAEX,IAAI,IAAKA,IAAI,CAACY,OAAO,CAAC,CAAC,CAAC,CACjD,CAAC;EACH;EAEA,OAAOX,oBAAoB;AAC7B,CAAC","ignoreList":[]}
|
|
@@ -15,10 +15,41 @@ const formatValue = (value, unit, definition) => {
|
|
|
15
15
|
}
|
|
16
16
|
return `${value}${unit ? ` ${unit}` : ""}`;
|
|
17
17
|
};
|
|
18
|
+
const DefaultUrineAnalyteRow = ({
|
|
19
|
+
Text,
|
|
20
|
+
accessibilityLabel,
|
|
21
|
+
name,
|
|
22
|
+
rangeLabel,
|
|
23
|
+
isOutsideUsualRange,
|
|
24
|
+
theme: rowTheme,
|
|
25
|
+
value
|
|
26
|
+
}) => /*#__PURE__*/_jsxs(View, {
|
|
27
|
+
accessible: true,
|
|
28
|
+
accessibilityLabel: accessibilityLabel,
|
|
29
|
+
accessibilityRole: "text",
|
|
30
|
+
style: styles.row,
|
|
31
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
32
|
+
style: styles.grow,
|
|
33
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
34
|
+
theme: rowTheme,
|
|
35
|
+
children: name
|
|
36
|
+
}), rangeLabel && /*#__PURE__*/_jsx(Text, {
|
|
37
|
+
theme: rowTheme,
|
|
38
|
+
style: {
|
|
39
|
+
color: isOutsideUsualRange ? rowTheme.colors.error : rowTheme.colors.primary
|
|
40
|
+
},
|
|
41
|
+
children: rangeLabel
|
|
42
|
+
})]
|
|
43
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
44
|
+
theme: rowTheme,
|
|
45
|
+
children: value
|
|
46
|
+
})]
|
|
47
|
+
});
|
|
18
48
|
export const UrineTestResult = ({
|
|
19
49
|
measurement,
|
|
20
50
|
showOnlyMeasured = false,
|
|
21
51
|
labelForAnalyte = (_key, fallback) => fallback,
|
|
52
|
+
accessibilityLabelForAnalyte = (_key, fallback) => fallback,
|
|
22
53
|
testID,
|
|
23
54
|
...uiProps
|
|
24
55
|
}) => {
|
|
@@ -28,6 +59,7 @@ export const UrineTestResult = ({
|
|
|
28
59
|
} = useOvokUi(uiProps);
|
|
29
60
|
const Card = slots.Card ?? PaperCard;
|
|
30
61
|
const Text = slots.Text ?? PaperText;
|
|
62
|
+
const AnalyteRow = slots.UrineAnalyteRow;
|
|
31
63
|
const catalog = measurementFieldCatalog[MeasurementTypeKey.urineAnalysis] ?? measurementFieldCatalog[MeasurementTypeKey.uricAcid] ?? {};
|
|
32
64
|
const rows = URINE_ANALYTE_DEFINITIONS.filter(({
|
|
33
65
|
key
|
|
@@ -55,25 +87,25 @@ export const UrineTestResult = ({
|
|
|
55
87
|
const value = measurement[key];
|
|
56
88
|
const definition = catalog[key];
|
|
57
89
|
const measured = typeof value === "number";
|
|
90
|
+
const name = labelForAnalyte(key, display);
|
|
91
|
+
const formattedValue = measured ? formatValue(value, unit, definition) : "Not measured";
|
|
58
92
|
const inUsualRange = measured && definition?.normalMin !== undefined && definition.normalMax !== undefined ? value >= definition.normalMin && value <= definition.normalMax : undefined;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
children: measured ? formatValue(value, unit, definition) : "Not measured"
|
|
76
|
-
})]
|
|
93
|
+
const rangeLabel = inUsualRange === undefined ? undefined : inUsualRange ? "Within usual range" : "Outside usual range";
|
|
94
|
+
const defaultAccessibilityLabel = [name, formattedValue, inUsualRange === false ? "outside the usual range" : undefined].filter(Boolean).join(", ");
|
|
95
|
+
const rowProps = {
|
|
96
|
+
accessibilityLabel: accessibilityLabelForAnalyte(key, defaultAccessibilityLabel),
|
|
97
|
+
analyteKey: key,
|
|
98
|
+
isOutsideUsualRange: inUsualRange === false,
|
|
99
|
+
name,
|
|
100
|
+
rangeLabel,
|
|
101
|
+
theme,
|
|
102
|
+
value: formattedValue
|
|
103
|
+
};
|
|
104
|
+
return AnalyteRow ? /*#__PURE__*/_jsx(AnalyteRow, {
|
|
105
|
+
...rowProps
|
|
106
|
+
}, key) : /*#__PURE__*/_jsx(DefaultUrineAnalyteRow, {
|
|
107
|
+
Text: Text,
|
|
108
|
+
...rowProps
|
|
77
109
|
}, key);
|
|
78
110
|
})]
|
|
79
111
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","URINE_ANALYTE_DEFINITIONS","StyleSheet","View","Card","PaperCard","Text","PaperText","measurementFieldCatalog","useOvokUi","jsx","_jsx","jsxs","_jsxs","formatValue","value","unit","definition","qualitative","negativeAtZero","UrineTestResult","measurement","showOnlyMeasured","labelForAnalyte","_key","fallback","testID","uiProps","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","URINE_ANALYTE_DEFINITIONS","StyleSheet","View","Card","PaperCard","Text","PaperText","measurementFieldCatalog","useOvokUi","jsx","_jsx","jsxs","_jsxs","formatValue","value","unit","definition","qualitative","negativeAtZero","DefaultUrineAnalyteRow","accessibilityLabel","name","rangeLabel","isOutsideUsualRange","theme","rowTheme","accessible","accessibilityRole","style","styles","row","children","grow","color","colors","error","primary","UrineTestResult","measurement","showOnlyMeasured","labelForAnalyte","_key","fallback","accessibilityLabelForAnalyte","testID","uiProps","slots","AnalyteRow","UrineAnalyteRow","catalog","urineAnalysis","uricAcid","rows","filter","key","borderRadius","content","variant","map","display","measured","formattedValue","inUsualRange","normalMin","undefined","normalMax","defaultAccessibilityLabel","Boolean","join","rowProps","analyteKey","create","gap","padding","flex","alignItems","flexDirection"],"sourceRoot":"../../../../../src","sources":["modules/ui/components/urine-test-result.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ declare const ANDROID_HEALTH_CONNECT_BACKGROUND_TASK = "OvokHealthConnectBackgro
|
|
|
6
6
|
interface AndroidBluetoothForegroundServiceOptions {
|
|
7
7
|
notificationTitle?: string;
|
|
8
8
|
notificationBody?: string;
|
|
9
|
+
/** Ask Android to exempt this app from Doze when the service starts or returns to the foreground. */
|
|
9
10
|
requestBatteryOptimizationExemption?: boolean;
|
|
10
11
|
}
|
|
11
12
|
interface AndroidHealthConnectBackgroundSyncOptions {
|
|
@@ -37,7 +38,8 @@ declare const isAndroidBatteryOptimizationIgnored: () => Promise<boolean>;
|
|
|
37
38
|
/**
|
|
38
39
|
* Opens Android's consent screen for a Doze exemption. This is always explicit
|
|
39
40
|
* opt-in. A false result means the exemption is not active yet; it can also
|
|
40
|
-
* mean the
|
|
41
|
+
* mean the app is not currently foregrounded, the user has already answered,
|
|
42
|
+
* or the prompt was already shown. Recheck
|
|
41
43
|
* `isAndroidBatteryOptimizationIgnored` after returning to the foreground.
|
|
42
44
|
*/
|
|
43
45
|
declare const requestAndroidBatteryOptimizationExemption: () => Promise<boolean>;
|
package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android-background-sync.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/background-sync/android-background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,QAAA,MAAM,sCAAsC,oCACT,CAAC;AAepC,UAAU,wCAAwC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"android-background-sync.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/background-sync/android-background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,QAAA,MAAM,sCAAsC,oCACT,CAAC;AAepC,UAAU,wCAAwC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qGAAqG;IACrG,mCAAmC,CAAC,EAAE,OAAO,CAAC;CAC/C;AAED,UAAU,yCAAyC;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,KAAK,kCAAkC,GAAG,CAAC,KAAK,EAAE;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,KAAK,kCAAkC,GAAG;IACxC,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC;CAC/E,CAAC;AAgBF;;;;GAIG;AACH,QAAA,MAAM,sCAAsC,GAC1C,UAAS,wCAA6C,KACrD,OAAO,CAAC,IAAI,CAMd,CAAC;AAEF,QAAA,MAAM,qCAAqC,QAAa,OAAO,CAAC,IAAI,CAMnE,CAAC;AAEF,yFAAyF;AACzF,QAAA,MAAM,mCAAmC,QAAa,OAAO,CAAC,OAAO,CAMpE,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,0CAA0C,QACpC,OAAO,CAAC,OAAO,CAMxB,CAAC;AAEJ;;;;GAIG;AACH,QAAA,MAAM,gCAAgC,GACpC,UAAS,yCAA8C,KACtD,OAAO,CAAC,IAAI,CAMd,CAAC;AAEF,QAAA,MAAM,8BAA8B,QAAa,OAAO,CAAC,IAAI,CAM5D,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,2BAA2B,GAAU,oEAOxC,kCAAkC,KAAG,OAAO,CAAC,IAAI,CAgBnD,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,0CAA0C,GAC9C,MAAM,kCAAkC,EACxC,iBAAiD,KAChD,IAMF,CAAC;AAEF,OAAO,EACL,sCAAsC,EACtC,wCAAwC,EACxC,yCAAyC,EACzC,kCAAkC,EAClC,kCAAkC,EAClC,8BAA8B,EAC9B,mCAAmC,EACnC,0CAA0C,EAC1C,0CAA0C,EAC1C,2BAA2B,EAC3B,gCAAgC,EAChC,sCAAsC,EACtC,qCAAqC,GACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android-bluetooth-foreground-service.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/background-sync/android-bluetooth-foreground-service.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAI3E,OAAO,EAIL,KAAK,wCAAwC,EAC9C,MAAM,2BAA2B,CAAC;AAEnC,UAAU,sCAAsC;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,wCAAwC,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,iCAAiC,GAAI,0CAKxC,sCAAsC,
|
|
1
|
+
{"version":3,"file":"android-bluetooth-foreground-service.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/background-sync/android-bluetooth-foreground-service.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAI3E,OAAO,EAIL,KAAK,wCAAwC,EAC9C,MAAM,2BAA2B,CAAC;AAEnC,UAAU,sCAAsC;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,wCAAwC,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,iCAAiC,GAAI,0CAKxC,sCAAsC,sBA6DxC,CAAC;AAEF,OAAO,EAAE,iCAAiC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android-bluetooth-foreground-service.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/android-bluetooth-foreground-service.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,UAAU,wCAAwC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mCAAmC,CAAC,EAAE,OAAO,CAAC;CAC/C;
|
|
1
|
+
{"version":3,"file":"android-bluetooth-foreground-service.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/android-bluetooth-foreground-service.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,UAAU,wCAAwC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mCAAmC,CAAC,EAAE,OAAO,CAAC;CAC/C;AAuBD,eAAO,MAAM,iCAAiC,GAAI,0CAK/C,KAAK,CAAC,iBAAiB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,wCAAwC,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CACzC,CAAC,sBAsED,CAAC"}
|
package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-health-sync-service.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/services/base-health-sync-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,8BAAsB,qBAAqB,CACzC,WAAW,
|
|
1
|
+
{"version":3,"file":"base-health-sync-service.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/services/base-health-sync-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,8BAAsB,qBAAqB,CACzC,WAAW,SACT,sBAAsB,CAAC,YAAY,CAAC,GAAG,oBAAoB,CAAC,YAAY,CAAC,EAC3E,eAAe,SAAS,MAAM,EAC9B,iBAAiB,GAAG,OAAO;IAE3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAErD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmC;IACnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI5B;gBAEU,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC;IA2BhD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;IAEpD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,CAC3C,KAAK,EAAE,kBAAkB,CAAC,eAAe,CAAC,KACvC,OAAO,CAAC,MAAM,CAAC;IAEpB,SAAS,CAAC,QAAQ,CAAC,2BAA2B,IAAI,CAChD,KAAK,EAAE,wBAAwB,CAAC,eAAe,CAAC,KAC7C,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAExE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CACzC,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,KACvC,OAAO,CAAC,WAAW,EAAE,CAAC;IAE3B,2EAA2E;IAC9D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAQzB,OAAO;IA6BR,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzB,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAKjD,cAAc;YAUd,oBAAoB;YAyBpB,mBAAmB;YAqBnB,cAAc;IAyF5B,OAAO,CAAC,yBAAyB;CAGlC"}
|