@ovok/native 1.5.2 → 1.5.4
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/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +54 -0
- package/lib/commonjs/modules/background-sync/android-background-sync.js +54 -3
- package/lib/commonjs/modules/background-sync/android-background-sync.js.map +1 -1
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +16 -9
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/commonjs/modules/background-sync/index.js +11 -0
- package/lib/commonjs/modules/background-sync/index.js.map +1 -1
- package/lib/commonjs/modules/background-sync/notifications.js +56 -0
- package/lib/commonjs/modules/background-sync/notifications.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +1 -0
- package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/device-list-items.js +6 -0
- package/lib/commonjs/modules/bt-device/constants/device-list-items.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +3 -1
- package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +16 -1
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +19 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
- package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +80 -88
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/commonjs/modules/bt-management/index.js +22 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/device-creator.js +3 -1
- package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval-activity-frame-reader.js +55 -0
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval-activity-frame-reader.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.js +202 -0
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.activity-device.js +54 -0
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.activity-device.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js +1 -0
- package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +95 -40
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-context.js +13 -0
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-context.js.map +1 -0
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js +105 -16
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js +36 -5
- package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
- package/lib/commonjs/modules/data-sync/index.js +11 -0
- package/lib/commonjs/modules/data-sync/index.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js +15 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/types/health-authorization-status.js +6 -0
- package/lib/commonjs/modules/data-sync/types/health-authorization-status.js.map +1 -0
- package/lib/module/modules/background-sync/android-background-sync.js +49 -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 +17 -10
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/module/modules/background-sync/index.js +1 -0
- package/lib/module/modules/background-sync/index.js.map +1 -1
- package/lib/module/modules/background-sync/notifications.js +50 -0
- package/lib/module/modules/background-sync/notifications.js.map +1 -0
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +1 -0
- package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
- package/lib/module/modules/bt-device/constants/device-list-items.js +6 -0
- package/lib/module/modules/bt-device/constants/device-list-items.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +3 -1
- package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-devices.js +17 -2
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +20 -2
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
- package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +81 -89
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/module/modules/bt-management/index.js +2 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/device-creator.js +3 -1
- package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval-activity-frame-reader.js +50 -0
- package/lib/module/modules/bt-management/services/devices/veroval/veroval-activity-frame-reader.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.js +198 -0
- package/lib/module/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.activity-device.js +49 -0
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.activity-device.js.map +1 -0
- package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
- package/lib/module/modules/bt-management/types/integrated-devices.js +1 -0
- package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +95 -40
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-sync.js +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-sync.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-context.js +8 -0
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-context.js.map +1 -0
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js +106 -17
- package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/components/apple/apple-health-sync.js +36 -5
- package/lib/module/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
- package/lib/module/modules/data-sync/index.js +1 -0
- package/lib/module/modules/data-sync/index.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-state-manager.js +15 -1
- package/lib/module/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
- package/lib/module/modules/data-sync/types/health-authorization-status.js +4 -0
- package/lib/module/modules/data-sync/types/health-authorization-status.js.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts +30 -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/background-sync/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/notifications.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/background-sync/notifications.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval-activity-frame-reader.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval-activity-frame-reader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.d.ts +47 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.activity-device.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.activity-device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +12 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-context.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-context.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/data-sync.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/data-sync/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +5 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts +30 -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/background-sync/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/notifications.d.ts +14 -0
- package/lib/typescript/module/src/modules/background-sync/notifications.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval-activity-frame-reader.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval-activity-frame-reader.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.d.ts +47 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.activity-device.d.ts +18 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.activity-device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +12 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-context.d.ts +7 -0
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-context.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/data-sync.d.ts +2 -2
- package/lib/typescript/module/src/modules/data-sync/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/data-sync/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts +1 -0
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +3 -0
- package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts +5 -1
- package/lib/typescript/module/src/modules/data-sync/types/apple-health-authorization-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +15 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -0
- package/package.json +4 -2
package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js
CHANGED
|
@@ -1,38 +1,127 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { HKAuthorizationRequestStatus, useHealthkitAuthorization } from "@kingstinct/react-native-healthkit";
|
|
3
|
+
import { getRequestStatusForAuthorization, HKAuthorizationRequestStatus, useHealthkitAuthorization } from "@kingstinct/react-native-healthkit";
|
|
4
4
|
import * as React from "react";
|
|
5
|
+
import { AppleHealthAuthorizationContext } from "./apple-health-authorization-context.js";
|
|
5
6
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const getNotRequestedIdentifiers = async (identifiers, getStatus) => {
|
|
8
|
+
const statuses = await Promise.all(identifiers.map(async identifier => ({
|
|
9
|
+
identifier,
|
|
10
|
+
status: await getStatus(identifier)
|
|
11
|
+
})));
|
|
12
|
+
return statuses.filter(({
|
|
13
|
+
status
|
|
14
|
+
}) => status === HKAuthorizationRequestStatus.shouldRequest).map(({
|
|
15
|
+
identifier
|
|
16
|
+
}) => identifier);
|
|
17
|
+
};
|
|
6
18
|
export const AppleHealthAuthorizationProvider = /*#__PURE__*/React.memo(({
|
|
7
19
|
readIdentifiers,
|
|
8
20
|
writeIdentifiers,
|
|
9
21
|
fallback,
|
|
10
22
|
children,
|
|
11
23
|
skipRequest,
|
|
12
|
-
renderManualRequestUI
|
|
24
|
+
renderManualRequestUI,
|
|
25
|
+
onAuthorizationStatusChange
|
|
13
26
|
}) => {
|
|
14
27
|
const [authorizationStatus, requestAuthorization] = useHealthkitAuthorization(readIdentifiers, writeIdentifiers);
|
|
15
|
-
const
|
|
16
|
-
const
|
|
28
|
+
const [requestState, setRequestState] = React.useState("unknown");
|
|
29
|
+
const [notRequestedReadIdentifiers, setNotRequestedReadIdentifiers] = React.useState(readIdentifiers);
|
|
30
|
+
const [notRequestedWriteIdentifiers, setNotRequestedWriteIdentifiers] = React.useState(writeIdentifiers || []);
|
|
31
|
+
const [requestError, setRequestError] = React.useState();
|
|
32
|
+
const requestKey = `${readIdentifiers.join(",")}::${(writeIdentifiers || []).join(",")}`;
|
|
33
|
+
const identifiersRef = React.useRef({
|
|
34
|
+
readIdentifiers,
|
|
35
|
+
writeIdentifiers
|
|
36
|
+
});
|
|
37
|
+
identifiersRef.current = {
|
|
38
|
+
readIdentifiers,
|
|
39
|
+
writeIdentifiers
|
|
40
|
+
};
|
|
41
|
+
const previousRequestKey = React.useRef(requestKey);
|
|
42
|
+
const status = React.useMemo(() => ({
|
|
43
|
+
error: requestError,
|
|
44
|
+
state: requestState,
|
|
45
|
+
notRequestedReadIdentifiers,
|
|
46
|
+
notRequestedWriteIdentifiers
|
|
47
|
+
}), [notRequestedReadIdentifiers, notRequestedWriteIdentifiers, requestError, requestState]);
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
onAuthorizationStatusChange?.(status);
|
|
50
|
+
}, [onAuthorizationStatusChange, status]);
|
|
51
|
+
const inspectAuthorization = React.useCallback(async () => {
|
|
52
|
+
const {
|
|
53
|
+
readIdentifiers: currentRead,
|
|
54
|
+
writeIdentifiers: currentWrite
|
|
55
|
+
} = identifiersRef.current;
|
|
56
|
+
const [notRequestedRead, notRequestedWrite] = await Promise.all([getNotRequestedIdentifiers(currentRead, identifier => getRequestStatusForAuthorization([identifier])), getNotRequestedIdentifiers(currentWrite || [], identifier => getRequestStatusForAuthorization([], [identifier]))]);
|
|
57
|
+
setNotRequestedReadIdentifiers(notRequestedRead);
|
|
58
|
+
setNotRequestedWriteIdentifiers(notRequestedWrite);
|
|
59
|
+
}, []);
|
|
60
|
+
const requestAccess = React.useCallback(async () => {
|
|
61
|
+
setRequestState("requesting");
|
|
62
|
+
try {
|
|
63
|
+
await requestAuthorization();
|
|
64
|
+
await inspectAuthorization();
|
|
65
|
+
setRequestError(undefined);
|
|
66
|
+
setRequestState("ready");
|
|
67
|
+
} catch (error) {
|
|
68
|
+
const normalizedError = error instanceof Error ? error : new Error(String(error));
|
|
69
|
+
setRequestError(normalizedError);
|
|
70
|
+
setRequestState("error");
|
|
71
|
+
}
|
|
72
|
+
}, [inspectAuthorization, requestAuthorization]);
|
|
17
73
|
React.useEffect(() => {
|
|
18
|
-
if (
|
|
74
|
+
if (previousRequestKey.current === requestKey) {
|
|
19
75
|
return;
|
|
20
76
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
77
|
+
previousRequestKey.current = requestKey;
|
|
78
|
+
setRequestError(undefined);
|
|
79
|
+
setRequestState(authorizationStatus === null ? "unknown" : authorizationStatus === HKAuthorizationRequestStatus.shouldRequest ? "shouldRequest" : "unknown");
|
|
80
|
+
setNotRequestedReadIdentifiers(readIdentifiers);
|
|
81
|
+
setNotRequestedWriteIdentifiers(writeIdentifiers || []);
|
|
82
|
+
}, [authorizationStatus, readIdentifiers, requestKey, writeIdentifiers]);
|
|
83
|
+
React.useEffect(() => {
|
|
84
|
+
if (authorizationStatus === null) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (authorizationStatus === HKAuthorizationRequestStatus.shouldRequest) {
|
|
88
|
+
setRequestState(currentState => currentState === "unknown" ? "shouldRequest" : currentState);
|
|
89
|
+
}
|
|
90
|
+
void inspectAuthorization().then(() => {
|
|
91
|
+
setRequestState(currentState => currentState === "unknown" && authorizationStatus === HKAuthorizationRequestStatus.shouldRequest ? "shouldRequest" : currentState === "unknown" ? "ready" : currentState);
|
|
92
|
+
}).catch(error => {
|
|
93
|
+
const normalizedError = error instanceof Error ? error : new Error(String(error));
|
|
94
|
+
setRequestError(normalizedError);
|
|
95
|
+
setRequestState("error");
|
|
96
|
+
});
|
|
97
|
+
}, [authorizationStatus, inspectAuthorization]);
|
|
98
|
+
React.useEffect(() => {
|
|
99
|
+
if (renderManualRequestUI || skipRequest || authorizationStatus !== HKAuthorizationRequestStatus.shouldRequest || requestState !== "shouldRequest") {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
void requestAccess();
|
|
103
|
+
}, [authorizationStatus, requestAccess, renderManualRequestUI, requestState, skipRequest]);
|
|
104
|
+
const needsAuthorization = requestState === "shouldRequest" || requestState === "requesting" || requestState === "unknown" && authorizationStatus === HKAuthorizationRequestStatus.shouldRequest;
|
|
105
|
+
const shouldRenderManualRequestUI = renderManualRequestUI && needsAuthorization && requestState !== "requesting" && !skipRequest;
|
|
106
|
+
const shouldRenderFallback = fallback && needsAuthorization && !skipRequest;
|
|
107
|
+
let content = null;
|
|
108
|
+
if (skipRequest || requestState === "ready" || requestState === "unknown" && (authorizationStatus === HKAuthorizationRequestStatus.unknown || authorizationStatus === HKAuthorizationRequestStatus.unnecessary)) {
|
|
109
|
+
content = /*#__PURE__*/_jsx(_Fragment, {
|
|
110
|
+
children: children
|
|
111
|
+
});
|
|
112
|
+
} else if (shouldRenderManualRequestUI) {
|
|
113
|
+
content = renderManualRequestUI?.(requestAccess);
|
|
114
|
+
} else if (shouldRenderFallback) {
|
|
115
|
+
content = /*#__PURE__*/_jsx(_Fragment, {
|
|
31
116
|
children: fallback || null
|
|
32
117
|
});
|
|
33
118
|
}
|
|
34
|
-
return /*#__PURE__*/_jsx(
|
|
35
|
-
|
|
119
|
+
return /*#__PURE__*/_jsx(AppleHealthAuthorizationContext.Provider, {
|
|
120
|
+
value: skipRequest && status.state === "unknown" ? {
|
|
121
|
+
...status,
|
|
122
|
+
state: "ready"
|
|
123
|
+
} : status,
|
|
124
|
+
children: content
|
|
36
125
|
});
|
|
37
126
|
});
|
|
38
127
|
//# sourceMappingURL=apple-health-authorization-provider.js.map
|
package/lib/module/modules/data-sync/components/apple/apple-health-authorization-provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HKAuthorizationRequestStatus","useHealthkitAuthorization","React","Fragment","_Fragment","jsx","_jsx","AppleHealthAuthorizationProvider","memo","readIdentifiers","writeIdentifiers","fallback","children","skipRequest","renderManualRequestUI","authorizationStatus","requestAuthorization","
|
|
1
|
+
{"version":3,"names":["getRequestStatusForAuthorization","HKAuthorizationRequestStatus","useHealthkitAuthorization","React","AppleHealthAuthorizationContext","Fragment","_Fragment","jsx","_jsx","getNotRequestedIdentifiers","identifiers","getStatus","statuses","Promise","all","map","identifier","status","filter","shouldRequest","AppleHealthAuthorizationProvider","memo","readIdentifiers","writeIdentifiers","fallback","children","skipRequest","renderManualRequestUI","onAuthorizationStatusChange","authorizationStatus","requestAuthorization","requestState","setRequestState","useState","notRequestedReadIdentifiers","setNotRequestedReadIdentifiers","notRequestedWriteIdentifiers","setNotRequestedWriteIdentifiers","requestError","setRequestError","requestKey","join","identifiersRef","useRef","current","previousRequestKey","useMemo","error","state","useEffect","inspectAuthorization","useCallback","currentRead","currentWrite","notRequestedRead","notRequestedWrite","requestAccess","undefined","normalizedError","Error","String","currentState","then","catch","needsAuthorization","shouldRenderManualRequestUI","shouldRenderFallback","content","unknown","unnecessary","Provider","value"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/apple/apple-health-authorization-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,30 @@ import { useNetInfo } from "@react-native-community/netinfo";
|
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { useListenChanges } from "../../hooks/use-listen-changes.js";
|
|
7
7
|
import { AppleHealthSyncService } from "../../services/apple-health-sync-service.js";
|
|
8
|
-
|
|
8
|
+
import { useAppleHealthAuthorizationStatus } from "./apple-health-authorization-context.js";
|
|
9
|
+
const filterNotRequestedIdentifiers = (dataToSync, notRequestedIdentifiers) => {
|
|
10
|
+
if (notRequestedIdentifiers.length === 0) {
|
|
11
|
+
return dataToSync;
|
|
12
|
+
}
|
|
13
|
+
const excluded = new Set(notRequestedIdentifiers);
|
|
14
|
+
const filtered = {};
|
|
15
|
+
Object.entries(dataToSync).forEach(([key, data]) => {
|
|
16
|
+
if (!data) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const typeIdentifiers = data.typeIdentifiers.filter(({
|
|
20
|
+
typeIdentifier
|
|
21
|
+
}) => !excluded.has(typeIdentifier));
|
|
22
|
+
if (typeIdentifiers.length > 0) {
|
|
23
|
+
filtered[key] = {
|
|
24
|
+
...data,
|
|
25
|
+
typeIdentifiers
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return filtered;
|
|
30
|
+
};
|
|
31
|
+
const AppleHealthSync = /*#__PURE__*/React.memo(({
|
|
9
32
|
dataToSync,
|
|
10
33
|
chunkSize,
|
|
11
34
|
wifiOnly = false,
|
|
@@ -13,6 +36,10 @@ export const AppleHealthSync = /*#__PURE__*/React.memo(({
|
|
|
13
36
|
onError,
|
|
14
37
|
onProgress
|
|
15
38
|
}) => {
|
|
39
|
+
const authorizationStatus = useAppleHealthAuthorizationStatus();
|
|
40
|
+
const filteredDataToSync = React.useMemo(() => authorizationStatus?.state === "ready" ? filterNotRequestedIdentifiers(dataToSync, authorizationStatus.notRequestedReadIdentifiers) : dataToSync, [authorizationStatus, dataToSync]);
|
|
41
|
+
const authorizationPending = authorizationStatus?.state === "unknown";
|
|
42
|
+
const effectiveDataToSync = React.useMemo(() => authorizationPending ? {} : filteredDataToSync, [authorizationPending, filteredDataToSync]);
|
|
16
43
|
const client = useClient();
|
|
17
44
|
const patient = useMedplumProfile();
|
|
18
45
|
const serviceRef = React.useRef(null);
|
|
@@ -28,11 +55,14 @@ export const AppleHealthSync = /*#__PURE__*/React.memo(({
|
|
|
28
55
|
onProgressRef.current?.(progressRef.current);
|
|
29
56
|
}, []);
|
|
30
57
|
const syncData = React.useCallback(async () => {
|
|
58
|
+
if (authorizationPending) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
31
61
|
try {
|
|
32
62
|
serviceRef.current = AppleHealthSyncService.getInstance({
|
|
33
63
|
client,
|
|
34
64
|
patientId: patient?.id ?? "",
|
|
35
|
-
dataToSync,
|
|
65
|
+
dataToSync: effectiveDataToSync,
|
|
36
66
|
chunkSize,
|
|
37
67
|
onSyncError: error => onErrorRef.current?.(error),
|
|
38
68
|
updateProgress
|
|
@@ -41,7 +71,7 @@ export const AppleHealthSync = /*#__PURE__*/React.memo(({
|
|
|
41
71
|
} catch (error) {
|
|
42
72
|
onErrorRef.current?.(error);
|
|
43
73
|
}
|
|
44
|
-
}, [client,
|
|
74
|
+
}, [authorizationPending, client, effectiveDataToSync, chunkSize, patient?.id, updateProgress]);
|
|
45
75
|
|
|
46
76
|
/**
|
|
47
77
|
* The first sync, which nothing used to start.
|
|
@@ -64,14 +94,14 @@ export const AppleHealthSync = /*#__PURE__*/React.memo(({
|
|
|
64
94
|
React.useEffect(() => {
|
|
65
95
|
syncData();
|
|
66
96
|
}, [syncData]);
|
|
67
|
-
useListenChanges(
|
|
97
|
+
useListenChanges(effectiveDataToSync, () => {
|
|
68
98
|
syncData();
|
|
69
99
|
}, backgroundDelivery, error => onErrorRef.current?.(error));
|
|
70
100
|
React.useEffect(() => {
|
|
71
101
|
if (!serviceRef.current) {
|
|
72
102
|
return;
|
|
73
103
|
}
|
|
74
|
-
const pauseReason =
|
|
104
|
+
const pauseReason = isConnected === false ? "offline" : wifiOnly && type !== "wifi" ? "wifi-only" : undefined;
|
|
75
105
|
if (pauseReason) {
|
|
76
106
|
serviceRef.current.pauseSync(pauseReason);
|
|
77
107
|
return;
|
|
@@ -100,4 +130,5 @@ export const AppleHealthSync = /*#__PURE__*/React.memo(({
|
|
|
100
130
|
}, []);
|
|
101
131
|
return null;
|
|
102
132
|
});
|
|
133
|
+
export { AppleHealthSync, filterNotRequestedIdentifiers };
|
|
103
134
|
//# sourceMappingURL=apple-health-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useClient","useMedplumProfile","useNetInfo","React","useListenChanges","AppleHealthSyncService","
|
|
1
|
+
{"version":3,"names":["useClient","useMedplumProfile","useNetInfo","React","useListenChanges","AppleHealthSyncService","useAppleHealthAuthorizationStatus","filterNotRequestedIdentifiers","dataToSync","notRequestedIdentifiers","length","excluded","Set","filtered","Object","entries","forEach","key","data","typeIdentifiers","filter","typeIdentifier","has","AppleHealthSync","memo","chunkSize","wifiOnly","backgroundDelivery","onError","onProgress","authorizationStatus","filteredDataToSync","useMemo","state","notRequestedReadIdentifiers","authorizationPending","effectiveDataToSync","client","patient","serviceRef","useRef","isConnected","type","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","getInstance","patientId","id","onSyncError","error","startSync","useEffect","pauseReason","undefined","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/apple/apple-health-sync.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,4 +5,5 @@ export * from "./types/apple-health-sync-props.js";
|
|
|
5
5
|
export * from "./components/sync-progress-list/sync-progress-list.js";
|
|
6
6
|
export * from "./types/sync-progress.js";
|
|
7
7
|
export * from "./types/android-health-sync-props.js";
|
|
8
|
+
export * from "./types/health-authorization-status.js";
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/data-sync/index.ts"],"mappings":";;AAAA,cAAc,2BAAwB;AACtC,cAAc,oCAAiC;AAC/C,cAAc,uDAAoD;AAClE,cAAc,0BAAuB;AACrC,cAAc,sCAAmC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/data-sync/index.ts"],"mappings":";;AAAA,cAAc,2BAAwB;AACtC,cAAc,oCAAiC;AAC/C,cAAc,uDAAoD;AAClE,cAAc,0BAAuB;AACrC,cAAc,sCAAmC;AACjD,cAAc,wCAAqC","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@ export class SyncStateManager {
|
|
|
12
12
|
* because the read cursor only advances once a read has returned.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
+
rerunRequested = false;
|
|
15
16
|
shouldStopSync = false;
|
|
16
17
|
initialDataFetched = false;
|
|
17
18
|
latestObservationDates = [];
|
|
@@ -22,7 +23,19 @@ export class SyncStateManager {
|
|
|
22
23
|
|
|
23
24
|
/** Runs `sync`, or joins the run already under way. */
|
|
24
25
|
async once(sync) {
|
|
25
|
-
this.inFlight
|
|
26
|
+
if (this.inFlight) {
|
|
27
|
+
if (this.shouldStopSync) {
|
|
28
|
+
this.rerunRequested = true;
|
|
29
|
+
}
|
|
30
|
+
const inFlight = this.inFlight;
|
|
31
|
+
await inFlight;
|
|
32
|
+
if (this.rerunRequested && !this.inFlight) {
|
|
33
|
+
this.rerunRequested = false;
|
|
34
|
+
return this.once(sync);
|
|
35
|
+
}
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.inFlight = sync().finally(() => {
|
|
26
39
|
this.inFlight = undefined;
|
|
27
40
|
});
|
|
28
41
|
return this.inFlight;
|
|
@@ -33,6 +46,7 @@ export class SyncStateManager {
|
|
|
33
46
|
this.initialDataFetched = false;
|
|
34
47
|
this.latestObservationDates = [];
|
|
35
48
|
this.results = [];
|
|
49
|
+
this.rerunRequested = false;
|
|
36
50
|
}
|
|
37
51
|
pause(reason) {
|
|
38
52
|
this.shouldStopSync = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SyncStateManager","shouldStopSync","initialDataFetched","latestObservationDates","results","addResult","result","push","once","sync","inFlight","finally","undefined","reset","pauseReason","pause","reason","resume"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/sync-state-manager.ts"],"mappings":";;AAIA,OAAO,MAAMA,gBAAgB,CAAC;EAC5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["SyncStateManager","rerunRequested","shouldStopSync","initialDataFetched","latestObservationDates","results","addResult","result","push","once","sync","inFlight","finally","undefined","reset","pauseReason","pause","reason","resume"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/sync-state-manager.ts"],"mappings":";;AAIA,OAAO,MAAMA,gBAAgB,CAAC;EAC5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEUC,cAAc,GAAG,KAAK;EAEvBC,cAAc,GAAG,KAAK;EAEtBC,kBAAkB,GAAG,KAAK;EAC1BC,sBAAsB,GAGxB,EAAE;EACAC,OAAO,GAA0B,EAAE;EAE1CC,SAASA,CAACC,MAA2B,EAAQ;IAC3C,IAAI,CAACF,OAAO,CAACG,IAAI,CAACD,MAAM,CAAC;EAC3B;;EAEA;EACA,MAAME,IAAIA,CAACC,IAAyB,EAAiB;IACnD,IAAI,IAAI,CAACC,QAAQ,EAAE;MACjB,IAAI,IAAI,CAACT,cAAc,EAAE;QACvB,IAAI,CAACD,cAAc,GAAG,IAAI;MAC5B;MAEA,MAAMU,QAAQ,GAAG,IAAI,CAACA,QAAQ;MAE9B,MAAMA,QAAQ;MAEd,IAAI,IAAI,CAACV,cAAc,IAAI,CAAC,IAAI,CAACU,QAAQ,EAAE;QACzC,IAAI,CAACV,cAAc,GAAG,KAAK;QAE3B,OAAO,IAAI,CAACQ,IAAI,CAACC,IAAI,CAAC;MACxB;MAEA;IACF;IAEA,IAAI,CAACC,QAAQ,GAAGD,IAAI,CAAC,CAAC,CAACE,OAAO,CAAC,MAAM;MACnC,IAAI,CAACD,QAAQ,GAAGE,SAAS;IAC3B,CAAC,CAAC;IAEF,OAAO,IAAI,CAACF,QAAQ;EACtB;EAEAG,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACZ,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACa,WAAW,GAAGF,SAAS;IAC5B,IAAI,CAACV,kBAAkB,GAAG,KAAK;IAC/B,IAAI,CAACC,sBAAsB,GAAG,EAAE;IAChC,IAAI,CAACC,OAAO,GAAG,EAAE;IACjB,IAAI,CAACJ,cAAc,GAAG,KAAK;EAC7B;EAEAe,KAAKA,CAACC,MAAwB,EAAQ;IACpC,IAAI,CAACf,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACa,WAAW,GAAGE,MAAM;EAC3B;EAEAC,MAAMA,CAAA,EAAS;IACb,IAAI,CAAChB,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACa,WAAW,GAAGF,SAAS;EAC9B;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/data-sync/types/health-authorization-status.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { MeasurementTypeKey, OvokClient } from "@ovok/core";
|
|
2
|
+
import { AndroidHealthSyncProps } from "../data-sync/types/android-health-sync-props";
|
|
3
|
+
import { SyncProgress } from "../data-sync/types/sync-progress";
|
|
1
4
|
declare const ANDROID_HEALTH_CONNECT_BACKGROUND_TASK = "OvokHealthConnectBackgroundSync";
|
|
2
5
|
interface AndroidBluetoothForegroundServiceOptions {
|
|
3
6
|
/** Text shown while the service keeps the BLE scan alive. */
|
|
4
7
|
notificationTitle?: string;
|
|
5
8
|
notificationBody?: string;
|
|
9
|
+
/** Ask Android to exempt this app from Doze when the service starts. Defaults to false. */
|
|
10
|
+
requestBatteryOptimizationExemption?: boolean;
|
|
6
11
|
}
|
|
7
12
|
interface AndroidHealthConnectBackgroundSyncOptions {
|
|
8
13
|
/** WorkManager's minimum supported interval is 15 minutes. */
|
|
@@ -15,6 +20,17 @@ interface AndroidHealthConnectBackgroundSyncOptions {
|
|
|
15
20
|
type AndroidHealthConnectBackgroundTask = (input: {
|
|
16
21
|
reason?: string;
|
|
17
22
|
}) => Promise<void>;
|
|
23
|
+
type AndroidHealthConnectSyncRunOptions = {
|
|
24
|
+
/** A restored, authenticated core client. */
|
|
25
|
+
client: OvokClient;
|
|
26
|
+
/** The patient whose Health Connect records should be imported. */
|
|
27
|
+
patientId: string;
|
|
28
|
+
/** The same record-to-Observation mapping used by AndroidHealthSync. */
|
|
29
|
+
dataToSync: AndroidHealthSyncProps["dataToSync"];
|
|
30
|
+
chunkSize?: number;
|
|
31
|
+
onError?: (error: Error) => void;
|
|
32
|
+
onProgress?: (progress: Partial<Record<MeasurementTypeKey, SyncProgress>>) => void;
|
|
33
|
+
};
|
|
18
34
|
/**
|
|
19
35
|
* Starts the Android connected-device foreground service. Mount this alongside
|
|
20
36
|
* the BTProvider that owns the scan; the service keeps that app process alive
|
|
@@ -22,6 +38,10 @@ type AndroidHealthConnectBackgroundTask = (input: {
|
|
|
22
38
|
*/
|
|
23
39
|
declare const startAndroidBluetoothForegroundService: (options?: AndroidBluetoothForegroundServiceOptions) => Promise<void>;
|
|
24
40
|
declare const stopAndroidBluetoothForegroundService: () => Promise<void>;
|
|
41
|
+
/** Returns whether Android currently exempts the app from Doze battery optimizations. */
|
|
42
|
+
declare const isAndroidBatteryOptimizationIgnored: () => Promise<boolean>;
|
|
43
|
+
/** Opens Android's consent screen for a Doze exemption. This is always explicit opt-in. */
|
|
44
|
+
declare const requestAndroidBatteryOptimizationExemption: () => Promise<boolean>;
|
|
25
45
|
/**
|
|
26
46
|
* Schedules a WorkManager wake-up that starts the registered headless JS task.
|
|
27
47
|
* The task must create the host app's authenticated client and run the desired
|
|
@@ -29,11 +49,20 @@ declare const stopAndroidBluetoothForegroundService: () => Promise<void>;
|
|
|
29
49
|
*/
|
|
30
50
|
declare const scheduleAndroidHealthConnectSync: (options?: AndroidHealthConnectBackgroundSyncOptions) => Promise<void>;
|
|
31
51
|
declare const cancelAndroidHealthConnectSync: () => Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Runs one Health Connect import without mounting React components.
|
|
54
|
+
*
|
|
55
|
+
* Headless JS tasks have no React tree, so AndroidHealthSync cannot be rendered
|
|
56
|
+
* after the OS recreates the app process. The host app still restores its own
|
|
57
|
+
* client and patient identity, then calls this function with the same mapping
|
|
58
|
+
* it uses in the foreground.
|
|
59
|
+
*/
|
|
60
|
+
declare const runAndroidHealthConnectSync: ({ client, patientId, dataToSync, chunkSize, onError, onProgress, }: AndroidHealthConnectSyncRunOptions) => Promise<void>;
|
|
32
61
|
/**
|
|
33
62
|
* Registers the JS entry point WorkManager invokes after process death. Call
|
|
34
63
|
* this once from the app entry point, not from a screen component, so it is
|
|
35
64
|
* registered before Android wakes the headless runtime.
|
|
36
65
|
*/
|
|
37
66
|
declare const registerAndroidHealthConnectBackgroundTask: (task: AndroidHealthConnectBackgroundTask, taskName?: string) => void;
|
|
38
|
-
export { ANDROID_HEALTH_CONNECT_BACKGROUND_TASK, AndroidBluetoothForegroundServiceOptions, AndroidHealthConnectBackgroundSyncOptions, AndroidHealthConnectBackgroundTask, cancelAndroidHealthConnectSync, registerAndroidHealthConnectBackgroundTask, scheduleAndroidHealthConnectSync, startAndroidBluetoothForegroundService, stopAndroidBluetoothForegroundService, };
|
|
67
|
+
export { ANDROID_HEALTH_CONNECT_BACKGROUND_TASK, AndroidBluetoothForegroundServiceOptions, AndroidHealthConnectBackgroundSyncOptions, AndroidHealthConnectBackgroundTask, AndroidHealthConnectSyncRunOptions, cancelAndroidHealthConnectSync, isAndroidBatteryOptimizationIgnored, registerAndroidHealthConnectBackgroundTask, requestAndroidBatteryOptimizationExemption, runAndroidHealthConnectSync, scheduleAndroidHealthConnectSync, startAndroidBluetoothForegroundService, stopAndroidBluetoothForegroundService, };
|
|
39
68
|
//# sourceMappingURL=android-background-sync.d.ts.map
|
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":"
|
|
1
|
+
{"version":3,"file":"android-background-sync.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/background-sync/android-background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,QAAA,MAAM,sCAAsC,oCACT,CAAC;AAepC,UAAU,wCAAwC;IAEhD,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,2FAA2F;IAC3F,mCAAmC,CAAC,EAAE,OAAO,CAAC;CAC/C;AAED,UAAU,yCAAyC;IAEjD,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kEAAkE;IAClE,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;IAExC,6CAA6C;IAC7C,MAAM,EAAE,UAAU,CAAC;IAEnB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAElB,wEAAwE;IACxE,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,CACX,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,KACxD,IAAI,CAAC;CACX,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,2FAA2F;AAC3F,QAAA,MAAM,0CAA0C,QAAa,OAAO,CAAC,OAAO,CAM3E,CAAC;AAEF;;;;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;AAE3E,OAAO,
|
|
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;AAE3E,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,sBA6CxC,CAAC;AAEF,OAAO,EAAE,iCAAiC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/background-sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/background-sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type PushNotificationPermissionStatus = "granted" | "denied" | "undetermined";
|
|
2
|
+
interface PushNotificationContent {
|
|
3
|
+
title: string;
|
|
4
|
+
body?: string;
|
|
5
|
+
data?: Record<string, string | number | boolean | null>;
|
|
6
|
+
}
|
|
7
|
+
/** Reads the current notification permission without showing a prompt. */
|
|
8
|
+
declare const getPushNotificationPermission: () => Promise<PushNotificationPermissionStatus>;
|
|
9
|
+
/** Requests notification permission. Call this while the app is in the foreground. */
|
|
10
|
+
declare const requestPushNotificationPermission: () => Promise<PushNotificationPermissionStatus>;
|
|
11
|
+
/** Shows a local notification for a measurement delivered by the background queue. */
|
|
12
|
+
declare const showPushNotification: ({ title, body, data, }: PushNotificationContent) => Promise<void>;
|
|
13
|
+
export { getPushNotificationPermission, PushNotificationContent, PushNotificationPermissionStatus, requestPushNotificationPermission, showPushNotification, };
|
|
14
|
+
//# sourceMappingURL=notifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/background-sync/notifications.ts"],"names":[],"mappings":"AAEA,KAAK,gCAAgC,GACjC,SAAS,GACT,QAAQ,GACR,cAAc,CAAC;AAEnB,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CACzD;AAgCD,0EAA0E;AAC1E,QAAA,MAAM,6BAA6B,QAAa,OAAO,CAAC,gCAAgC,CACzB,CAAC;AAEhE,sFAAsF;AACtF,QAAA,MAAM,iCAAiC,QAAa,OAAO,CAAC,gCAAgC,CACzB,CAAC;AAEpE,sFAAsF;AACtF,QAAA,MAAM,oBAAoB,GAAU,wBAIjC,uBAAuB,KAAG,OAAO,CAAC,IAAI,CASxC,CAAC;AAEF,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,gCAAgC,EAChC,iCAAiC,EACjC,oBAAoB,GACrB,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-instruction-pdfs.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-instruction-pdfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAOjF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"device-instruction-pdfs.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-instruction-pdfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAOjF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAwBrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-list-items.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-list-items.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,eAAO,MAAM,eAAe,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"device-list-items.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-list-items.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,eAAO,MAAM,eAAe,EAAE,cAAc,EA8J3C,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
declare const verovalBpu26Image = "https://cdn.hartmann.info/product/40938_43.jpg";
|
|
2
2
|
declare const verovalBpw26Image = "https://cdn.hartmann.info/product/40385_43.jpg";
|
|
3
|
+
declare const verovalActivityImage = "https://image-eo.winudf.com/v2/image/aW5mby52ZXJvdmFsLm1lZGkuY29ubmVjdF9pY29uXzE1MzUwMTcwMDVfMDYx/icon.png?w=360&fakeurl=1";
|
|
3
4
|
declare const bosoMedicusSystemImage = "https://www.boso.de/fileadmin/_processed_/0/b/csm_medicus_system_1019_9ce057ffcc.png";
|
|
4
5
|
declare const visomatComfortSoftBtImage = "https://www.visomat.de/wp-content/uploads/2023/10/prd_slider_comfort-soft-BT.jpg";
|
|
5
6
|
declare const cyclotestMySenseImage = "https://www.cyclotest.de/wp-content/uploads/cyclotest-mysense-basalthermometer-app-unfruchtbar-flex.png";
|
|
@@ -14,6 +15,7 @@ declare const hartmannDuoControlCredit = "HARTMANN official product image: https
|
|
|
14
15
|
declare const hartmannEcgCredit = "HARTMANN official product image: https://www.hartmann.info/es-es/productos/monitorizaci%C3%B3n/electrocardiograma/veroval%C2%AE-ecg";
|
|
15
16
|
declare const hartmannBpu26Credit = "HARTMANN official product image: https://www.hartmann.info/en/products/diagnostics/blood-pressure-monitors/upper-arm-products/veroval%C2%AE-compact-%2C-pl-%2C-upper-arm-blood-pressure-monitor";
|
|
16
17
|
declare const hartmannBpw26Credit = "HARTMANN official product image: https://www.hartmann.info/en/products/diagnostics/blood-pressure-monitors/wrist-products/veroval%C2%AE-compact-%2C-pl-%2C-wrist-blood-pressure-monitor";
|
|
18
|
+
declare const hartmannActivityCredit = "Veroval Medi.Connect app artwork from APKPure: https://apkpure.net/veroval%C2%AE-medi-connect/info.veroval.medi.connect; device and protocol supplied by HARTMANN's Veroval Activity integration materials";
|
|
17
19
|
declare const bosoMedicusSystemCredit = "boso official product image: https://www.boso.de/en/products-for-home-users/blood-pressure-instruments/boso-medicus-system";
|
|
18
20
|
declare const visomatComfortSoftBtCredit = "visomat official product image: https://www.visomat.de/produkte/comfort-soft-bt/";
|
|
19
21
|
declare const cyclotestMySenseCredit = "cyclotest official product image: https://www.cyclotest.de/produkt/cyclotest-mysense-basalthermometer/";
|
|
@@ -29,5 +31,5 @@ declare const cosinussCredit = "cosinuss\u00B0 official product page: https://ww
|
|
|
29
31
|
declare const alivecorCredit = "AliveCor official KardiaMobile product page: https://www.alivecor.com/kardiamobile";
|
|
30
32
|
declare const contecCredit = "Contec official BC401 product page: https://contechealth.com/collections/hot-sales/products/contec-bc401-handheld-urine-analyzer-11-parameter-600pcs-test-strip-bluetooth";
|
|
31
33
|
declare const transtekCredit = "Transtek official product page: https://www.transtekmed.com/product/transtek-body-scale-gbs-2012-b1";
|
|
32
|
-
export { alivecorCredit, aojCredit, bosoMedicusSystemCredit, bosoMedicusSystemImage, bundledAssetCredit, contecCredit, cosinussCredit, cyclotestMySenseCredit, cyclotestMySenseImage, foraCredit, hartmannBpu26Credit, hartmannBpw26Credit, hartmannDuoControlCredit, hartmannEcgCredit, taidocCredit, transtekCredit, viatomAojImage, viatomBodyScaleCredit, viatomBp2Image, viatomBp3Credit, viatomBp3Image, viatomBloodPressureCredit, viatomEcgCredit, viatomEr1Image, viatomF4Image, viatomO2RingImage, viatomOximeterCredit, verovalBpu26Image, verovalBpw26Image, visomatComfortSoftBtCredit, visomatComfortSoftBtImage, };
|
|
34
|
+
export { alivecorCredit, aojCredit, bosoMedicusSystemCredit, bosoMedicusSystemImage, bundledAssetCredit, contecCredit, cosinussCredit, cyclotestMySenseCredit, cyclotestMySenseImage, foraCredit, hartmannBpu26Credit, hartmannBpw26Credit, hartmannActivityCredit, hartmannDuoControlCredit, hartmannEcgCredit, taidocCredit, transtekCredit, viatomAojImage, viatomBodyScaleCredit, viatomBp2Image, viatomBp3Credit, viatomBp3Image, viatomBloodPressureCredit, viatomEcgCredit, viatomEr1Image, viatomF4Image, viatomO2RingImage, viatomOximeterCredit, verovalBpu26Image, verovalBpw26Image, verovalActivityImage, visomatComfortSoftBtCredit, visomatComfortSoftBtImage, };
|
|
33
35
|
//# sourceMappingURL=supported-device-catalog-assets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supported-device-catalog-assets.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-assets.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAE3E,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAE3E,QAAA,MAAM,sBAAsB,yFAC4D,CAAC;AAEzF,QAAA,MAAM,yBAAyB,qFACqD,CAAC;AAErF,QAAA,MAAM,qBAAqB,4GACgF,CAAC;AAE5G,QAAA,MAAM,cAAc,oMAC+K,CAAC;AAEpM,QAAA,MAAM,cAAc,kKAC6I,CAAC;AAElK,QAAA,MAAM,aAAa,oLACgK,CAAC;AAEpL,QAAA,MAAM,iBAAiB,8LACsK,CAAC;AAE9L,QAAA,MAAM,cAAc,yKACoJ,CAAC;AAEzK,QAAA,MAAM,cAAc,2KACsJ,CAAC;AAE3K,QAAA,MAAM,kBAAkB,0FACiE,CAAC;AAE1F,QAAA,MAAM,wBAAwB,+JACgI,CAAC;AAE/J,QAAA,MAAM,iBAAiB,wIACgH,CAAC;AAExI,QAAA,MAAM,mBAAmB,oMAC0K,CAAC;AAEpM,QAAA,MAAM,mBAAmB,4LACkK,CAAC;AAE5L,QAAA,MAAM,uBAAuB,+HACiG,CAAC;AAE/H,QAAA,MAAM,0BAA0B,qFACoD,CAAC;AAErF,QAAA,MAAM,sBAAsB,2GAC8E,CAAC;AAE3G,QAAA,MAAM,yBAAyB,qFACqD,CAAC;AAErF,QAAA,MAAM,eAAe,oGAC8E,CAAC;AAEpG,QAAA,MAAM,qBAAqB,wEAC4C,CAAC;AAExE,QAAA,MAAM,oBAAoB,6EACkD,CAAC;AAE7E,QAAA,MAAM,eAAe,8EACwD,CAAC;AAE9E,QAAA,MAAM,SAAS,0EAC0D,CAAC;AAE1E,QAAA,MAAM,YAAY,qEACkD,CAAC;AAErE,QAAA,MAAM,UAAU,mEAAmE,CAAC;AAEpF,QAAA,MAAM,cAAc,mGACyE,CAAC;AAE9F,QAAA,MAAM,cAAc,uFACkE,CAAC;AAEvF,QAAA,MAAM,YAAY,8KAC2J,CAAC;AAE9K,QAAA,MAAM,cAAc,wGACmF,CAAC;AAExG,OAAO,EACL,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"supported-device-catalog-assets.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-assets.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAE3E,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAE3E,QAAA,MAAM,oBAAoB,+HACoG,CAAC;AAE/H,QAAA,MAAM,sBAAsB,yFAC4D,CAAC;AAEzF,QAAA,MAAM,yBAAyB,qFACqD,CAAC;AAErF,QAAA,MAAM,qBAAqB,4GACgF,CAAC;AAE5G,QAAA,MAAM,cAAc,oMAC+K,CAAC;AAEpM,QAAA,MAAM,cAAc,kKAC6I,CAAC;AAElK,QAAA,MAAM,aAAa,oLACgK,CAAC;AAEpL,QAAA,MAAM,iBAAiB,8LACsK,CAAC;AAE9L,QAAA,MAAM,cAAc,yKACoJ,CAAC;AAEzK,QAAA,MAAM,cAAc,2KACsJ,CAAC;AAE3K,QAAA,MAAM,kBAAkB,0FACiE,CAAC;AAE1F,QAAA,MAAM,wBAAwB,+JACgI,CAAC;AAE/J,QAAA,MAAM,iBAAiB,wIACgH,CAAC;AAExI,QAAA,MAAM,mBAAmB,oMAC0K,CAAC;AAEpM,QAAA,MAAM,mBAAmB,4LACkK,CAAC;AAE5L,QAAA,MAAM,sBAAsB,+MACkL,CAAC;AAE/M,QAAA,MAAM,uBAAuB,+HACiG,CAAC;AAE/H,QAAA,MAAM,0BAA0B,qFACoD,CAAC;AAErF,QAAA,MAAM,sBAAsB,2GAC8E,CAAC;AAE3G,QAAA,MAAM,yBAAyB,qFACqD,CAAC;AAErF,QAAA,MAAM,eAAe,oGAC8E,CAAC;AAEpG,QAAA,MAAM,qBAAqB,wEAC4C,CAAC;AAExE,QAAA,MAAM,oBAAoB,6EACkD,CAAC;AAE7E,QAAA,MAAM,eAAe,8EACwD,CAAC;AAE9E,QAAA,MAAM,SAAS,0EAC0D,CAAC;AAE1E,QAAA,MAAM,YAAY,qEACkD,CAAC;AAErE,QAAA,MAAM,UAAU,mEAAmE,CAAC;AAEpF,QAAA,MAAM,cAAc,mGACyE,CAAC;AAE9F,QAAA,MAAM,cAAc,uFACkE,CAAC;AAEvF,QAAA,MAAM,YAAY,8KAC2J,CAAC;AAE9K,QAAA,MAAM,cAAc,wGACmF,CAAC;AAExG,OAAO,EACL,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
|
|
@@ -79,6 +79,13 @@ declare const Devices: readonly [{
|
|
|
79
79
|
readonly manufacturerKey: "devices.catalog.manufacturers.hartmann";
|
|
80
80
|
readonly logo: "https://cdn.hartmann.info/product/40385_43.jpg";
|
|
81
81
|
readonly creditsForImage: "HARTMANN official product image: https://www.hartmann.info/en/products/diagnostics/blood-pressure-monitors/wrist-products/veroval%C2%AE-compact-%2C-pl-%2C-wrist-blood-pressure-monitor";
|
|
82
|
+
}, {
|
|
83
|
+
readonly name: "Veroval Activity tracker";
|
|
84
|
+
readonly nameKey: "devices.catalog.veroval-activity.name";
|
|
85
|
+
readonly manufacturer: "HARTMANN";
|
|
86
|
+
readonly manufacturerKey: "devices.catalog.manufacturers.hartmann";
|
|
87
|
+
readonly logo: "https://image-eo.winudf.com/v2/image/aW5mby52ZXJvdmFsLm1lZGkuY29ubmVjdF9pY29uXzE1MzUwMTcwMDVfMDYx/icon.png?w=360&fakeurl=1";
|
|
88
|
+
readonly creditsForImage: "Veroval Medi.Connect app artwork from APKPure: https://apkpure.net/veroval%C2%AE-medi-connect/info.veroval.medi.connect; device and protocol supplied by HARTMANN's Veroval Activity integration materials";
|
|
82
89
|
}, {
|
|
83
90
|
readonly name: "boso medicus system";
|
|
84
91
|
readonly nameKey: "devices.catalog.boso-medicus-system.name";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supported-devices.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"supported-devices.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AA8ChF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,yBAAyB,GAAG,eAAe,GAAG;IAEjD,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF;;;;;;;GAOG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qPA0LkC,CAAC;AAuLhD,+FAA+F;AAC/F,QAAA,MAAM,gBAAgB,EAAE,SAAS,yBAAyB,EAQxD,CAAC;AAEH,QAAA,MAAM,iBAAiB,sCAAmB,CAAC;AAK3C,iFAAiF;AACjF,QAAA,MAAM,0BAA0B,EAAE,SAAS,cAAc,EAMxD,CAAC;AAEF,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAGjF,eAAO,MAAM,sBAAsB,EAoR9B,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE,EACvC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,KAC3D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
|
package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrated-devices-map.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/constants/integrated-devices-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"integrated-devices-map.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/constants/integrated-devices-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,eAAO,MAAM,oBAAoB,gCAuB/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measurement-field-catalog.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/constants/measurement-field-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"measurement-field-catalog.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/constants/measurement-field-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAC5C,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CA6B5E,CAAC"}
|
|
@@ -44,6 +44,8 @@ export * from "./services/devices/uebe/visomat.comfort-soft-bt";
|
|
|
44
44
|
export * from "./services/devices/veroval/veroval.bp-monitors";
|
|
45
45
|
export * from "./services/devices/veroval/veroval.duo-control-device";
|
|
46
46
|
export * from "./services/devices/veroval/veroval.ecg-device";
|
|
47
|
+
export * from "./services/devices/veroval/veroval.activity-device";
|
|
48
|
+
export * from "./services/devices/veroval/veroval-activity-sequencer";
|
|
47
49
|
export * from "./services/devices/veroval/veroval.ecg-samples";
|
|
48
50
|
export * from "./services/devices/lepu/lepu.transports";
|
|
49
51
|
export * from "./services/devices/aoj/aoj.thermometers";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AAEtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uDAAuD,CAAC;AACtE,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mDAAmD,CAAC;AAClE,cAAc,wDAAwD,CAAC;AACvE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,wDAAwD,CAAC;AACvE,cAAc,sCAAsC,CAAC;AACrD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAE3D,cAAc,uCAAuC,CAAC;AAEtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AAEtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uDAAuD,CAAC;AACtE,cAAc,yCAAyC,CAAC;AACxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mDAAmD,CAAC;AAClE,cAAc,wDAAwD,CAAC;AACvE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,wDAAwD,CAAC;AACvE,cAAc,sCAAsC,CAAC;AACrD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uDAAuD,CAAC;AACtE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,uDAAuD,CAAC;AACtE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAE3D,cAAc,uCAAuC,CAAC;AAEtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-creator.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/device-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAOrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"device-creator.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/device-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAOrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAwE9D,qBAAa,aAAa,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE;IAKhD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAJhD,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;gBAEvC,mBAAmB,EAAE,CAAC;IAI5C,aAAa,GAClB,WAAW,MAAM,EACjB,eAAc,SAAS,MAAM,EAAO,KACnC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAwB3B;IAEK,YAAY,CAAC,CAAC,SAAS,SAAS,EACrC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC5B,eAAe,CAAC,CAAC,CAAC;IA4Cd,OAAO,aAEZ;IAEF;;;OAGG;IACH,OAAO,CAAC,eAAe,CA+BrB;IAEF,OAAO,CAAC,eAAe;CAexB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FrameReadResult } from "../../../types/frame-read-result";
|
|
2
|
+
import { FrameReader } from "../../../types/frame-reader";
|
|
3
|
+
/**
|
|
4
|
+
* The activity wristband sends one encrypted chunk per notification and ends a reply with
|
|
5
|
+
* `ff ff`. Keeping notification boundaries is important: the first four and subsequent two
|
|
6
|
+
* bytes of every chunk are transport headers used by the vendor cipher.
|
|
7
|
+
*/
|
|
8
|
+
export declare class VerovalActivityFrameReader implements FrameReader {
|
|
9
|
+
private firstFrame;
|
|
10
|
+
readFrame(buffer: readonly string[]): FrameReadResult;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=veroval-activity-frame-reader.d.ts.map
|