@ovok/native 1.6.0 → 1.6.1
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 +8 -2
- package/android/src/main/AndroidManifest.xml +1 -20
- package/app.plugin.js +84 -7
- package/lib/commonjs/index.js +5 -115
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-session.js +25 -11
- package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +3 -2
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/inputs.js +10 -8
- package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +2 -2
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/session/components/session-list.js +3 -3
- package/lib/commonjs/modules/auth/session/components/session-list.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js +4 -3
- package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/background-sync/background-safe-storage.js +3 -6
- package/lib/commonjs/modules/background-sync/background-safe-storage.js.map +1 -1
- package/lib/commonjs/modules/bt-device/index.js +0 -22
- package/lib/commonjs/modules/bt-device/index.js.map +1 -1
- package/lib/commonjs/modules/bt-device-instructions/index.js +39 -0
- package/lib/commonjs/modules/bt-device-instructions/index.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +64 -0
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +7 -41
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +1 -0
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +4 -0
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +8 -4
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js +5 -1
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js +48 -12
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +40 -18
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js +8 -1
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +13 -4
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js +21 -0
- package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js.map +1 -0
- package/lib/commonjs/modules/bt-management/index.js +11 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +0 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +19 -21
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +5 -3
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +21 -26
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +9 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/push-notification.js +39 -0
- package/lib/commonjs/modules/bt-management/services/push-notification.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +81 -1
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +4 -2
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -1
- package/lib/commonjs/modules/bt-management/utils/result-identity.js +1 -1
- package/lib/commonjs/modules/bt-management/utils/result-identity.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +12 -3
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +7 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +29 -21
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/retry-save.js +40 -6
- package/lib/commonjs/modules/data-sync/utils/retry-save.js.map +1 -1
- package/lib/commonjs/modules/helpers/index.js +11 -4
- package/lib/commonjs/modules/helpers/index.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/sentry-logger.js +2 -3
- package/lib/commonjs/modules/helpers/utils/sentry-logger.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/telemetry.js +133 -46
- package/lib/commonjs/modules/helpers/utils/telemetry.js.map +1 -1
- package/lib/commonjs/modules/image/components/optimized-image.js +11 -8
- package/lib/commonjs/modules/image/components/optimized-image.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +3 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js +4 -1
- package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js.map +1 -1
- package/lib/commonjs/modules/ui/components/background-sync-setting.js +11 -1
- package/lib/commonjs/modules/ui/components/background-sync-setting.js.map +1 -1
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +14 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -1
- package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js +10 -0
- package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js.map +1 -1
- package/lib/commonjs/modules/ui/components/health-import-card.js +12 -1
- package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -1
- package/lib/commonjs/modules/ui/components/manual-entry-form.js +14 -1
- package/lib/commonjs/modules/ui/components/manual-entry-form.js.map +1 -1
- package/lib/commonjs/modules/ui/components/pairing-flow.js +31 -6
- package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -1
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js +8 -0
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js.map +1 -1
- package/lib/commonjs/modules/ui/components/urine-test-result.js +7 -2
- package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -1
- package/lib/commonjs/modules/ui/use-ovok-ui.js +2 -2
- package/lib/commonjs/modules/ui/use-ovok-ui.js.map +1 -1
- package/lib/module/index.js +3 -10
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-session.js +25 -11
- package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/module/modules/auth/logout-button/components/logout-button.js +3 -2
- package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/inputs.js +10 -8
- package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/inputs.js +2 -2
- package/lib/module/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/session/components/session-list.js +3 -3
- package/lib/module/modules/auth/session/components/session-list.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/inputs.js +4 -3
- package/lib/module/modules/auth/sign-in/components/form/inputs.js.map +1 -1
- package/lib/module/modules/background-sync/background-safe-storage.js +3 -6
- package/lib/module/modules/background-sync/background-safe-storage.js.map +1 -1
- package/lib/module/modules/bt-device/index.js +0 -2
- package/lib/module/modules/bt-device/index.js.map +1 -1
- package/lib/module/modules/bt-device-instructions/index.js +6 -0
- package/lib/module/modules/bt-device-instructions/index.js.map +1 -0
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +58 -0
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +6 -40
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +1 -0
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js +4 -0
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-background-sync.js +8 -4
- package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-device-connection.js +5 -1
- package/lib/module/modules/bt-management/hooks/use-device-connection.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-health-import.js +48 -12
- package/lib/module/modules/bt-management/hooks/use-health-import.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-measurements.js +40 -18
- package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js +8 -1
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js +13 -4
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-scan-control.js +16 -0
- package/lib/module/modules/bt-management/hooks/use-scan-control.js.map +1 -0
- package/lib/module/modules/bt-management/index.js +1 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +0 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +19 -21
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +5 -3
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +22 -27
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +9 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/push-notification.js +34 -0
- package/lib/module/modules/bt-management/services/push-notification.js.map +1 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js +79 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -1
- package/lib/module/modules/bt-management/types/bluetooth-error.js +4 -2
- package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -1
- package/lib/module/modules/bt-management/utils/result-identity.js +1 -1
- package/lib/module/modules/bt-management/utils/result-identity.js.map +1 -1
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +12 -3
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +8 -2
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js +29 -21
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/module/modules/data-sync/utils/retry-save.js +39 -7
- package/lib/module/modules/data-sync/utils/retry-save.js.map +1 -1
- package/lib/module/modules/helpers/index.js +1 -1
- package/lib/module/modules/helpers/index.js.map +1 -1
- package/lib/module/modules/helpers/utils/sentry-logger.js +3 -4
- package/lib/module/modules/helpers/utils/sentry-logger.js.map +1 -1
- package/lib/module/modules/helpers/utils/telemetry.js +133 -46
- package/lib/module/modules/helpers/utils/telemetry.js.map +1 -1
- package/lib/module/modules/image/components/optimized-image.js +11 -8
- package/lib/module/modules/image/components/optimized-image.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +3 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/module/modules/tile/constants/measurement-icon-svg.js +4 -1
- package/lib/module/modules/tile/constants/measurement-icon-svg.js.map +1 -1
- package/lib/module/modules/ui/components/background-sync-setting.js +11 -1
- package/lib/module/modules/ui/components/background-sync-setting.js.map +1 -1
- package/lib/module/modules/ui/components/bluetooth-state-notice.js +14 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -1
- package/lib/module/modules/ui/components/ecg-strip-viewer.js +10 -0
- package/lib/module/modules/ui/components/ecg-strip-viewer.js.map +1 -1
- package/lib/module/modules/ui/components/health-import-card.js +12 -1
- package/lib/module/modules/ui/components/health-import-card.js.map +1 -1
- package/lib/module/modules/ui/components/manual-entry-form.js +14 -1
- package/lib/module/modules/ui/components/manual-entry-form.js.map +1 -1
- package/lib/module/modules/ui/components/pairing-flow.js +31 -6
- package/lib/module/modules/ui/components/pairing-flow.js.map +1 -1
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js +8 -0
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js.map +1 -1
- package/lib/module/modules/ui/components/urine-test-result.js +7 -2
- package/lib/module/modules/ui/components/urine-test-result.js.map +1 -1
- package/lib/module/modules/ui/use-ovok-ui.js +2 -2
- package/lib/module/modules/ui/use-ovok-ui.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +0 -10
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts +2 -5
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +0 -2
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
- 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/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +4 -2
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts.map +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/services/base-health-sync-service.d.ts.map +1 -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/retry-save.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +0 -10
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/types/session.d.ts +2 -5
- package/lib/typescript/module/src/modules/auth/types/session.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts +3 -1
- package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/index.d.ts +0 -2
- package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
- 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/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +4 -2
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts +17 -0
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts.map +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/services/base-health-sync-service.d.ts.map +1 -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/retry-save.d.ts +3 -2
- package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/index.d.ts +1 -1
- package/lib/typescript/module/src/modules/helpers/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts +3 -2
- package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
- package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts +2 -1
- package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
/* eslint-disable max-lines */
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { AppState } from "react-native";
|
|
6
|
-
import { AndroidBluetoothForegroundService, showPushNotification } from "../../background-sync/index.js";
|
|
7
6
|
import { useDeviceList } from "../../bt-device/components/hooks/use-device-list.js";
|
|
8
7
|
import { sentryLogger } from "../../helpers/utils/sentry-logger.js";
|
|
9
8
|
import { BluetoothRuntimeProvider, createBluetoothRuntime } from "../hooks/runtime-context.js";
|
|
@@ -11,7 +10,9 @@ import { getRestoredBleState } from "../services/background-sync/background-ble-
|
|
|
11
10
|
import { getBackgroundServiceUUIDs } from "../services/background-sync/background-service-uuids.js";
|
|
12
11
|
import { BackgroundSyncCoordinator } from "../services/background-sync/background-sync-coordinator.js";
|
|
13
12
|
import { BTManager } from "../services/bt-manager.js";
|
|
13
|
+
import { showBackgroundPushNotification } from "../services/push-notification.js";
|
|
14
14
|
import { toBluetoothError } from "../types/bluetooth-error.js";
|
|
15
|
+
import { AndroidBluetoothForegroundService } from "./android-bluetooth-foreground-service.js";
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
17
|
export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
|
|
17
18
|
bleManager,
|
|
@@ -75,7 +76,7 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
|
|
|
75
76
|
const body = latest.notifications.body;
|
|
76
77
|
const data = latest.notifications.data;
|
|
77
78
|
try {
|
|
78
|
-
await
|
|
79
|
+
await showBackgroundPushNotification({
|
|
79
80
|
title: latest.notifications.title ?? "New health measurement",
|
|
80
81
|
body: body === undefined ? `${result.deviceData.name} reported a measurement` : typeof body === "function" ? body(result) : body,
|
|
81
82
|
...(data === undefined ? {} : {
|
|
@@ -107,20 +108,10 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
|
|
|
107
108
|
return;
|
|
108
109
|
}
|
|
109
110
|
const runtime = runtimeRef.current;
|
|
110
|
-
const hasRuntimeListener = runtime.hasListeners("deviceFound");
|
|
111
|
-
if (!onDeviceFound && !hasRuntimeListener) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
111
|
const manager = btManagerRef.current;
|
|
115
112
|
if (!manager) {
|
|
116
113
|
return;
|
|
117
114
|
}
|
|
118
|
-
if (onDeviceFound && !hasRuntimeListener) {
|
|
119
|
-
manager.onDeviceFound(onDeviceFound);
|
|
120
|
-
return () => {
|
|
121
|
-
manager.onDeviceFound(undefined);
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
115
|
manager.onDeviceFound((device, deviceManager) => {
|
|
125
116
|
runtime.upsertDevice(device);
|
|
126
117
|
runtime.emit("deviceFound", device);
|
|
@@ -135,20 +126,10 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
|
|
|
135
126
|
return;
|
|
136
127
|
}
|
|
137
128
|
const runtime = runtimeRef.current;
|
|
138
|
-
const hasRuntimeListener = runtime.hasListeners("error");
|
|
139
|
-
if (!onError && !hasRuntimeListener) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
129
|
const manager = btManagerRef.current;
|
|
143
130
|
if (!manager) {
|
|
144
131
|
return;
|
|
145
132
|
}
|
|
146
|
-
if (onError && !hasRuntimeListener) {
|
|
147
|
-
manager.onError(onError);
|
|
148
|
-
return () => {
|
|
149
|
-
manager.onError(undefined);
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
133
|
manager.onError(data => {
|
|
153
134
|
runtime.emit("error", data);
|
|
154
135
|
onError?.(data);
|
|
@@ -162,20 +143,10 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
|
|
|
162
143
|
return;
|
|
163
144
|
}
|
|
164
145
|
const runtime = runtimeRef.current;
|
|
165
|
-
const requiresBridge = backgroundSync?.enabled === true || runtime.hasListeners("result");
|
|
166
|
-
if (!onResult && !requiresBridge) {
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
146
|
const manager = btManagerRef.current;
|
|
170
147
|
if (!manager) {
|
|
171
148
|
return;
|
|
172
149
|
}
|
|
173
|
-
if (onResult && !requiresBridge) {
|
|
174
|
-
manager.onResult(onResult);
|
|
175
|
-
return () => {
|
|
176
|
-
manager.onResult(undefined);
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
150
|
const callback = backgroundSync?.enabled === true ? data => {
|
|
180
151
|
onResult?.(data);
|
|
181
152
|
const coordinator = backgroundSyncCoordinatorRef.current;
|
|
@@ -187,9 +158,6 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
|
|
|
187
158
|
});
|
|
188
159
|
}
|
|
189
160
|
} : onResult;
|
|
190
|
-
if (!acceptedDevices.length) {
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
161
|
manager.onResult(data => {
|
|
194
162
|
runtime.emit("result", data);
|
|
195
163
|
callback?.(data);
|
|
@@ -203,10 +171,11 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
|
|
|
203
171
|
return;
|
|
204
172
|
}
|
|
205
173
|
const runtime = runtimeRef.current;
|
|
206
|
-
|
|
174
|
+
const manager = btManagerRef.current;
|
|
175
|
+
if (!manager) {
|
|
207
176
|
return;
|
|
208
177
|
}
|
|
209
|
-
|
|
178
|
+
manager.onDeviceStatusChanged(({
|
|
210
179
|
status,
|
|
211
180
|
deviceData,
|
|
212
181
|
measurementTypeKey
|
|
@@ -247,9 +216,6 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
|
|
|
247
216
|
return;
|
|
248
217
|
}
|
|
249
218
|
const runtime = runtimeRef.current;
|
|
250
|
-
if (!onConnectionEvent && !runtime.hasListeners("connection")) {
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
219
|
const manager = btManagerRef.current;
|
|
254
220
|
if (!manager || typeof manager.onConnectionEvent !== "function") {
|
|
255
221
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","AppState","AndroidBluetoothForegroundService","showPushNotification","useDeviceList","sentryLogger","BluetoothRuntimeProvider","createBluetoothRuntime","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","toBluetoothError","jsx","_jsx","BTProviderChildWrapper","memo","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","onDeviceFound","onError","onDeviceStatusChanged","onConnectionEvent","onResult","resultPolicies","backgroundSync","btManagerRef","useRef","runtimeRef","backgroundSyncRef","backgroundSyncCoordinatorRef","setDeviceListItems","current","useEffect","length","runtime","currentBackgroundSync","isBackgroundEnabled","enabled","backgroundOptions","backgroundEnabled","serviceUUIDs","undefined","managerOptions","btManager","Object","keys","coordinator","result","latest","notifications","body","data","title","deviceData","name","error","setManager","setBackgroundScanEnabled","currentState","startScan","destroy","maxRetries","retryBackoffMs","storage","storageKey","hasRuntimeListener","hasListeners","manager","device","deviceManager","upsertDevice","emit","Promise","resolve","requiresBridge","callback","enqueue","catch","status","measurementTypeKey","setDeviceStatus","prev","newList","index","findIndex","item","deviceType","event","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","state","remove","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","AppState","useDeviceList","sentryLogger","BluetoothRuntimeProvider","createBluetoothRuntime","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","showBackgroundPushNotification","toBluetoothError","AndroidBluetoothForegroundService","jsx","_jsx","BTProviderChildWrapper","memo","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","onDeviceFound","onError","onDeviceStatusChanged","onConnectionEvent","onResult","resultPolicies","backgroundSync","btManagerRef","useRef","runtimeRef","backgroundSyncRef","backgroundSyncCoordinatorRef","setDeviceListItems","current","useEffect","length","runtime","currentBackgroundSync","isBackgroundEnabled","enabled","backgroundOptions","backgroundEnabled","serviceUUIDs","undefined","managerOptions","btManager","Object","keys","coordinator","result","latest","notifications","body","data","title","deviceData","name","error","setManager","setBackgroundScanEnabled","currentState","startScan","destroy","maxRetries","retryBackoffMs","storage","storageKey","manager","device","deviceManager","upsertDevice","emit","Promise","resolve","callback","enqueue","catch","status","measurementTypeKey","setDeviceStatus","prev","newList","index","findIndex","item","deviceType","event","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","state","remove","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","URINE_ANALYTE_DEFINITIONS","urineAnalyteRanges","uro","min","max","normalMin","normalMax","bld","bil","ket","glu","pro","ph","nit","leu","sg","vc","urineAnalyteCatalog","Object","fromEntries","entries","map","key","range","definition","find","analyte","Error","display","unit","measurementFieldCatalog","bloodPressure","systolic","required","diastolic","heartRate","bodyWeight","temperature","bodyTemp","bloodGlucose","bloodOxygenPulseRate","bloodOxygen","pulseRate","perfusionIndex","rrInterval","respiratoryRate","uricAcid"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/constants/measurement-field-catalog.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","URINE_ANALYTE_DEFINITIONS","urineAnalyteRanges","uro","min","max","normalMin","normalMax","bld","bil","ket","glu","pro","ph","nit","leu","sg","vc","urineAnalyteCatalog","Object","fromEntries","entries","map","key","range","definition","find","analyte","Error","display","unit","measurementFieldCatalog","bloodPressure","systolic","required","diastolic","heartRate","bodyWeight","temperature","bodyTemp","bloodGlucose","bloodOxygenPulseRate","bloodOxygen","pulseRate","perfusionIndex","rrInterval","respiratoryRate","urineAnalysis","uricAcid"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/constants/measurement-field-catalog.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,10 @@ export const createBluetoothRuntime = bleManager => {
|
|
|
24
24
|
listeners.set(event, eventListeners);
|
|
25
25
|
return () => eventListeners.delete(callback);
|
|
26
26
|
},
|
|
27
|
+
subscribeState: callback => {
|
|
28
|
+
subscribers.add(callback);
|
|
29
|
+
return () => subscribers.delete(callback);
|
|
30
|
+
},
|
|
27
31
|
hasListeners: event => (listeners.get(event)?.size ?? 0) > 0,
|
|
28
32
|
emit: (event, value) => {
|
|
29
33
|
listeners.get(event)?.forEach(callback => callback(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","jsx","_jsx","RuntimeContext","createContext","createBluetoothRuntime","bleManager","listeners","Map","currentManager","currentDevices","subscribers","Set","manager","devices","subscribe","event","callback","eventListeners","get","add","set","delete","hasListeners","size","emit","value","forEach","notify","setManager","upsertDevice","device","existing","findIndex","item","id","next","deviceData","status","undefined","map","index","setDeviceStatus","BluetoothRuntimeProvider","runtime","children","Provider","useBluetoothRuntime","useContext","Error","useRuntimeEvent","callbackRef","useRef","current","useEffect"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/runtime-context.tsx"],"mappings":";;AAAA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["React","jsx","_jsx","RuntimeContext","createContext","createBluetoothRuntime","bleManager","listeners","Map","currentManager","currentDevices","subscribers","Set","manager","devices","subscribe","event","callback","eventListeners","get","add","set","delete","subscribeState","hasListeners","size","emit","value","forEach","notify","setManager","upsertDevice","device","existing","findIndex","item","id","next","deviceData","status","undefined","map","index","setDeviceStatus","BluetoothRuntimeProvider","runtime","children","Provider","useBluetoothRuntime","useContext","Error","useRuntimeEvent","callbackRef","useRef","current","useEffect"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/runtime-context.tsx"],"mappings":";;AAAA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA2D/B,MAAMC,cAAc,gBAAGH,KAAK,CAACI,aAAa,CAA0B,IAAI,CAAC;AAEzE,OAAO,MAAMC,sBAAsB,GACjCC,UAAuB,IACF;EACrB,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAA8C,CAAC;EACxE,IAAIC,cAES;EACb,IAAIC,cAA+B,GAAG,EAAE;EACxC,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAa,CAAC;EAEzC,OAAO;IACLN,UAAU;IACV,IAAIO,OAAOA,CAAA,EAAG;MACZ,OAAOJ,cAAc;IACvB,CAAC;IACD,IAAIK,OAAOA,CAAA,EAAG;MACZ,OAAOJ,cAAc;IACvB,CAAC;IACDK,SAAS,EAAEA,CAAKC,KAAmB,EAAEC,QAA4B,KAAK;MACpE,MAAMC,cAAc,GAAGX,SAAS,CAACY,GAAG,CAACH,KAAK,CAAC,IAAI,IAAIJ,GAAG,CAAC,CAAC;MAExDM,cAAc,CAACE,GAAG,CAACH,QAAoC,CAAC;MACxDV,SAAS,CAACc,GAAG,CAACL,KAAK,EAAEE,cAAc,CAAC;MAEpC,OAAO,MAAMA,cAAc,CAACI,MAAM,CAACL,QAAoC,CAAC;IAC1E,CAAC;IACDM,cAAc,EAAGN,QAAQ,IAAK;MAC5BN,WAAW,CAACS,GAAG,CAACH,QAAQ,CAAC;MAEzB,OAAO,MAAMN,WAAW,CAACW,MAAM,CAACL,QAAQ,CAAC;IAC3C,CAAC;IACDO,YAAY,EAAGR,KAAK,IAAK,CAACT,SAAS,CAACY,GAAG,CAACH,KAAK,CAAC,EAAES,IAAI,IAAI,CAAC,IAAI,CAAC;IAC9DC,IAAI,EAAEA,CAAKV,KAAmB,EAAEW,KAAQ,KAAK;MAC3CpB,SAAS,CAACY,GAAG,CAACH,KAAK,CAAC,EAAEY,OAAO,CAAEX,QAAQ,IAAKA,QAAQ,CAACU,KAAK,CAAC,CAAC;MAC5DhB,WAAW,CAACiB,OAAO,CAAEC,MAAM,IAAKA,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IACDC,UAAU,EAAGjB,OAAO,IAAK;MACvBJ,cAAc,GAAGI,OAAO;MACxBF,WAAW,CAACiB,OAAO,CAAEC,MAAM,IAAKA,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IACDE,YAAY,EAAGC,MAAM,IAAK;MACxB,MAAMC,QAAQ,GAAGvB,cAAc,CAACwB,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKJ,MAAM,CAACI,EAAE,CAAC;MAE1E,MAAMC,IAAI,GAAG;QACXD,EAAE,EAAEJ,MAAM,CAACI,EAAE;QACbE,UAAU,EAAEN,MAAM,CAACM,UAAU;QAC7BN,MAAM;QACNO,MAAM,EAAEN,QAAQ,KAAK,CAAC,CAAC,GAAGO,SAAS,GAAG9B,cAAc,CAACuB,QAAQ,CAAC,EAAEM;MAClE,CAAC;MAED7B,cAAc,GACZuB,QAAQ,KAAK,CAAC,CAAC,GACX,CAAC,GAAGvB,cAAc,EAAE2B,IAAI,CAAC,GACzB3B,cAAc,CAAC+B,GAAG,CAAC,CAACN,IAAI,EAAEO,KAAK,KAAMA,KAAK,KAAKT,QAAQ,GAAGI,IAAI,GAAGF,IAAK,CAAC;MAC7ExB,WAAW,CAACiB,OAAO,CAAEC,MAAM,IAAKA,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IACDc,eAAe,EAAEA,CAAC;MAAEL,UAAU;MAAEC;IAAO,CAAC,KAAK;MAC3C7B,cAAc,GAAGA,cAAc,CAAC+B,GAAG,CAAEN,IAAI,IACvCA,IAAI,CAACC,EAAE,KAAKE,UAAU,CAACF,EAAE,GAAG;QAAE,GAAGD,IAAI;QAAEG,UAAU;QAAEC;MAAO,CAAC,GAAGJ,IAChE,CAAC;MACDxB,WAAW,CAACiB,OAAO,CAAEC,MAAM,IAAKA,MAAM,CAAC,CAAC,CAAC;IAC3C;EACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMe,wBAAwB,GAAGA,CAAC;EACvCC,OAAO;EACPC;AACsD,CAAC,kBACvD5C,IAAA,CAACC,cAAc,CAAC4C,QAAQ;EAACpB,KAAK,EAAEkB,OAAQ;EAAAC,QAAA,EAAEA;AAAQ,CAA0B,CAC7E;AAED,OAAO,MAAME,mBAAmB,GAAGA,CAAA,KAAwB;EACzD,MAAMH,OAAO,GAAG7C,KAAK,CAACiD,UAAU,CAAC9C,cAAc,CAAC;EAEhD,IAAI,CAAC0C,OAAO,EAAE;IACZ,MAAM,IAAIK,KAAK,CAAC,oDAAoD,CAAC;EACvE;EAEA,OAAOL,OAAO;AAChB,CAAC;AAED,OAAO,MAAMM,eAAe,GAAGA,CAC7BnC,KAAmB,EACnBC,QAA4B,KACnB;EACT,MAAM4B,OAAO,GAAGG,mBAAmB,CAAC,CAAC;EACrC,MAAMI,WAAW,GAAGpD,KAAK,CAACqD,MAAM,CAACpC,QAAQ,CAAC;EAE1CmC,WAAW,CAACE,OAAO,GAAGrC,QAAQ;EAE9BjB,KAAK,CAACuD,SAAS,CACb,MAAMV,OAAO,CAAC9B,SAAS,CAAIC,KAAK,EAAGW,KAAK,IAAKyB,WAAW,CAACE,OAAO,CAAC3B,KAAK,CAAC,CAAC,EACxE,CAACX,KAAK,EAAE6B,OAAO,CACjB,CAAC;AACH,CAAC;;AAED","ignoreList":[]}
|
|
@@ -13,13 +13,17 @@ export const useBackgroundSync = ({
|
|
|
13
13
|
const [enabled, setEnabledState] = React.useState(initialEnabled);
|
|
14
14
|
const [error, setError] = React.useState();
|
|
15
15
|
const [status, setStatus] = React.useState(initialEnabled ? "on" : "off");
|
|
16
|
+
React.useSyncExternalStore(runtime.subscribeState, () => runtime.manager, () => undefined);
|
|
16
17
|
const setEnabled = React.useCallback(async next => {
|
|
17
18
|
setError(undefined);
|
|
18
|
-
if (next && canEnable && !(await canEnable())) {
|
|
19
|
-
setStatus("restricted");
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
19
|
try {
|
|
20
|
+
if (next && canEnable && !(await canEnable())) {
|
|
21
|
+
setStatus("restricted");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (next && !runtime.manager) {
|
|
25
|
+
throw new Error("Bluetooth background sync is not ready yet.");
|
|
26
|
+
}
|
|
23
27
|
runtime.manager?.setBackgroundScanEnabled(next);
|
|
24
28
|
await onEnabledChange?.(next);
|
|
25
29
|
setEnabledState(next);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useBluetoothRuntime","useBackgroundSync","enabled","initialEnabled","canEnable","onEnabledChange","runtime","setEnabledState","useState","error","setError","status","setStatus","
|
|
1
|
+
{"version":3,"names":["React","useBluetoothRuntime","useBackgroundSync","enabled","initialEnabled","canEnable","onEnabledChange","runtime","setEnabledState","useState","error","setError","status","setStatus","useSyncExternalStore","subscribeState","manager","undefined","setEnabled","useCallback","next","Error","setBackgroundScanEnabled","cause","nextError","String","reason"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-background-sync.ts"],"mappings":";;AAAA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,sBAAmB;AAUvD,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAChCC,OAAO,EAAEC,cAAc,GAAG,KAAK;EAC/BC,SAAS;EACTC;AACwB,CAAC,GAAG,CAAC,CAAC,KAM3B;EACH,MAAMC,OAAO,GAAGN,mBAAmB,CAAC,CAAC;EACrC,MAAM,CAACE,OAAO,EAAEK,eAAe,CAAC,GAAGR,KAAK,CAACS,QAAQ,CAACL,cAAc,CAAC;EACjE,MAAM,CAACM,KAAK,EAAEC,QAAQ,CAAC,GAAGX,KAAK,CAACS,QAAQ,CAAQ,CAAC;EAEjD,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAGb,KAAK,CAACS,QAAQ,CACxCL,cAAc,GAAG,IAAI,GAAG,KAC1B,CAAC;EAEDJ,KAAK,CAACc,oBAAoB,CACxBP,OAAO,CAACQ,cAAc,EACtB,MAAMR,OAAO,CAACS,OAAO,EACrB,MAAMC,SACR,CAAC;EAED,MAAMC,UAAU,GAAGlB,KAAK,CAACmB,WAAW,CAAC,MAAOC,IAAa,IAAK;IAC5DT,QAAQ,CAACM,SAAS,CAAC;IAEnB,IAAI;MACF,IAAIG,IAAI,IAAIf,SAAS,IAAI,EAAE,MAAMA,SAAS,CAAC,CAAC,CAAC,EAAE;QAC7CQ,SAAS,CAAC,YAAY,CAAC;QAEvB;MACF;MAEA,IAAIO,IAAI,IAAI,CAACb,OAAO,CAACS,OAAO,EAAE;QAC5B,MAAM,IAAIK,KAAK,CAAC,6CAA6C,CAAC;MAChE;MAEAd,OAAO,CAACS,OAAO,EAAEM,wBAAwB,CAACF,IAAI,CAAC;MAC/C,MAAMd,eAAe,GAAGc,IAAI,CAAC;MAC7BZ,eAAe,CAACY,IAAI,CAAC;MACrBP,SAAS,CAACO,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,MAAMC,SAAS,GAAGD,KAAK,YAAYF,KAAK,GAAGE,KAAK,GAAG,IAAIF,KAAK,CAACI,MAAM,CAACF,KAAK,CAAC,CAAC;MAE3EZ,QAAQ,CAACa,SAAS,CAAC;MACnBX,SAAS,CAAC,SAAS,CAAC;IACtB;EACF,CAAC,EAAE,CAACR,SAAS,EAAEC,eAAe,EAAEC,OAAO,CAAC,CAAC;EAEzC,OAAO;IAAEJ,OAAO;IAAEe,UAAU;IAAEN,MAAM;IAAEF,KAAK;IAAEgB,MAAM,EAAEd,MAAM,KAAK,YAAY,GAAG,iCAAiC,GAAGK;EAAU,CAAC;AAChI,CAAC","ignoreList":[]}
|
|
@@ -6,6 +6,10 @@ export const useDeviceConnection = id => {
|
|
|
6
6
|
const runtime = useBluetoothRuntime();
|
|
7
7
|
const [status, setStatus] = React.useState(() => runtime.devices.find(device => device.id === id)?.status);
|
|
8
8
|
const [events, setEvents] = React.useState([]);
|
|
9
|
+
React.useEffect(() => {
|
|
10
|
+
setStatus(runtime.devices.find(device => device.id === id)?.status);
|
|
11
|
+
setEvents([]);
|
|
12
|
+
}, [id, runtime]);
|
|
9
13
|
React.useEffect(() => {
|
|
10
14
|
const unsubStatus = runtime.subscribe("status", value => {
|
|
11
15
|
if (value.deviceData.id === id) {
|
|
@@ -14,7 +18,7 @@ export const useDeviceConnection = id => {
|
|
|
14
18
|
});
|
|
15
19
|
const unsubEvent = runtime.subscribe("connection", event => {
|
|
16
20
|
if (event.deviceData.id === id) {
|
|
17
|
-
setEvents(current => [...current, event]);
|
|
21
|
+
setEvents(current => [...current, event].slice(-100));
|
|
18
22
|
}
|
|
19
23
|
});
|
|
20
24
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useBluetoothRuntime","useDeviceConnection","id","runtime","status","setStatus","useState","devices","find","device","events","setEvents","useEffect","unsubStatus","subscribe","value","deviceData","unsubEvent","event","current"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-device-connection.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAK9B,SAASC,mBAAmB,QAAQ,sBAAmB;AAEvD,OAAO,MAAMC,mBAAmB,GAC9BC,EAAW,IAC6D;EACxE,MAAMC,OAAO,GAAGH,mBAAmB,CAAC,CAAC;EAErC,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAGN,KAAK,CAACO,QAAQ,CACxC,MAAMH,OAAO,CAACI,OAAO,CAACC,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACP,EAAE,KAAKA,EAAE,CAAC,EAAEE,MAC5D,CAAC;EAED,MAAM,CAACM,MAAM,EAAEC,SAAS,CAAC,GAAGZ,KAAK,CAACO,QAAQ,CAAmC,EAAE,CAAC;EAEhFP,KAAK,CAACa,SAAS,CAAC,MAAM;IACpB,MAAMC,WAAW,GAAGV,OAAO,CAACW,SAAS,CACnC,QAAQ,EACPC,KAAK,IAAK;MACT,IAAIA,KAAK,CAACC,UAAU,CAACd,EAAE,KAAKA,EAAE,EAAE;QAACG,SAAS,CAACU,KAAK,CAACX,MAAM,CAAC;MAAC;IAC3D,CACF,CAAC;IAED,MAAMa,UAAU,GAAGd,OAAO,CAACW,SAAS,CAAwB,YAAY,EAAGI,KAAK,IAAK;MACnF,IAAIA,KAAK,CAACF,UAAU,CAACd,EAAE,KAAKA,EAAE,EAAE;
|
|
1
|
+
{"version":3,"names":["React","useBluetoothRuntime","useDeviceConnection","id","runtime","status","setStatus","useState","devices","find","device","events","setEvents","useEffect","unsubStatus","subscribe","value","deviceData","unsubEvent","event","current","slice"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-device-connection.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAK9B,SAASC,mBAAmB,QAAQ,sBAAmB;AAEvD,OAAO,MAAMC,mBAAmB,GAC9BC,EAAW,IAC6D;EACxE,MAAMC,OAAO,GAAGH,mBAAmB,CAAC,CAAC;EAErC,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAGN,KAAK,CAACO,QAAQ,CACxC,MAAMH,OAAO,CAACI,OAAO,CAACC,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACP,EAAE,KAAKA,EAAE,CAAC,EAAEE,MAC5D,CAAC;EAED,MAAM,CAACM,MAAM,EAAEC,SAAS,CAAC,GAAGZ,KAAK,CAACO,QAAQ,CAAmC,EAAE,CAAC;EAEhFP,KAAK,CAACa,SAAS,CAAC,MAAM;IACpBP,SAAS,CAACF,OAAO,CAACI,OAAO,CAACC,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACP,EAAE,KAAKA,EAAE,CAAC,EAAEE,MAAM,CAAC;IACrEO,SAAS,CAAC,EAAE,CAAC;EACf,CAAC,EAAE,CAACT,EAAE,EAAEC,OAAO,CAAC,CAAC;EAEjBJ,KAAK,CAACa,SAAS,CAAC,MAAM;IACpB,MAAMC,WAAW,GAAGV,OAAO,CAACW,SAAS,CACnC,QAAQ,EACPC,KAAK,IAAK;MACT,IAAIA,KAAK,CAACC,UAAU,CAACd,EAAE,KAAKA,EAAE,EAAE;QAACG,SAAS,CAACU,KAAK,CAACX,MAAM,CAAC;MAAC;IAC3D,CACF,CAAC;IAED,MAAMa,UAAU,GAAGd,OAAO,CAACW,SAAS,CAAwB,YAAY,EAAGI,KAAK,IAAK;MACnF,IAAIA,KAAK,CAACF,UAAU,CAACd,EAAE,KAAKA,EAAE,EAAE;QAC9BS,SAAS,CAAEQ,OAAO,IAAK,CAAC,GAAGA,OAAO,EAAED,KAAK,CAAC,CAACE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;MACzD;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXP,WAAW,CAAC,CAAC;MACbI,UAAU,CAAC,CAAC;IACd,CAAC;EACH,CAAC,EAAE,CAACf,EAAE,EAAEC,OAAO,CAAC,CAAC;EAEjB,OAAO;IAAEC,MAAM;IAAEM;EAAO,CAAC;AAC3B,CAAC","ignoreList":[]}
|
|
@@ -9,25 +9,61 @@ export const useHealthImport = ({
|
|
|
9
9
|
const [enabled, setEnabled] = React.useState(false);
|
|
10
10
|
const [statusByType, setStatusByType] = React.useState({});
|
|
11
11
|
const [error, setError] = React.useState();
|
|
12
|
+
const typesKey = React.useMemo(() => types.join("\u0000"), [types]);
|
|
13
|
+
const configRef = React.useRef({
|
|
14
|
+
adapter,
|
|
15
|
+
types,
|
|
16
|
+
background
|
|
17
|
+
});
|
|
18
|
+
configRef.current = {
|
|
19
|
+
adapter,
|
|
20
|
+
types,
|
|
21
|
+
background
|
|
22
|
+
};
|
|
12
23
|
const refresh = React.useCallback(async () => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
void typesKey;
|
|
25
|
+
const {
|
|
26
|
+
adapter: currentAdapter,
|
|
27
|
+
types: currentTypes
|
|
28
|
+
} = configRef.current;
|
|
29
|
+
const entries = await Promise.allSettled(currentTypes.map(async type => [type, await currentAdapter.getStatus(type)]));
|
|
30
|
+
const rejected = entries.find(entry => entry.status === "rejected");
|
|
31
|
+
setStatusByType(current => {
|
|
32
|
+
const next = {
|
|
33
|
+
...current
|
|
34
|
+
};
|
|
35
|
+
entries.forEach(entry => {
|
|
36
|
+
if (entry.status === "fulfilled") {
|
|
37
|
+
next[entry.value[0]] = entry.value[1];
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return next;
|
|
41
|
+
});
|
|
42
|
+
setEnabled(currentTypes.length > 0 && entries.every(entry => entry.status === "fulfilled" && entry.value[1] === "authorized"));
|
|
43
|
+
setError(rejected ? rejected.reason instanceof Error ? rejected.reason : new Error(String(rejected.reason)) : undefined);
|
|
44
|
+
}, [typesKey]);
|
|
20
45
|
React.useEffect(() => {
|
|
21
46
|
void refresh();
|
|
22
47
|
}, [refresh]);
|
|
23
48
|
const setEnabledForTypes = React.useCallback(async next => {
|
|
49
|
+
const {
|
|
50
|
+
adapter: currentAdapter,
|
|
51
|
+
types: currentTypes,
|
|
52
|
+
background: currentBackground
|
|
53
|
+
} = configRef.current;
|
|
24
54
|
setError(undefined);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
55
|
+
try {
|
|
56
|
+
if (next) {
|
|
57
|
+
await currentAdapter.request(currentTypes, currentBackground);
|
|
58
|
+
await refresh();
|
|
59
|
+
}
|
|
60
|
+
setEnabled(next);
|
|
61
|
+
} catch (cause) {
|
|
62
|
+
const nextError = cause instanceof Error ? cause : new Error(String(cause));
|
|
63
|
+
setError(nextError);
|
|
64
|
+
throw nextError;
|
|
28
65
|
}
|
|
29
|
-
|
|
30
|
-
}, [adapter, background, refresh, types]);
|
|
66
|
+
}, [refresh]);
|
|
31
67
|
const notShared = types.filter(type => statusByType[type] === "refused");
|
|
32
68
|
return {
|
|
33
69
|
enabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useHealthImport","types","background","adapter","enabled","setEnabled","useState","statusByType","setStatusByType","error","setError","refresh","useCallback","entries","Promise","
|
|
1
|
+
{"version":3,"names":["React","useHealthImport","types","background","adapter","enabled","setEnabled","useState","statusByType","setStatusByType","error","setError","typesKey","useMemo","join","configRef","useRef","current","refresh","useCallback","currentAdapter","currentTypes","entries","Promise","allSettled","map","type","getStatus","rejected","find","entry","status","next","forEach","value","length","every","reason","Error","String","undefined","useEffect","setEnabledForTypes","currentBackground","request","cause","nextError","notShared","filter"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-health-import.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,10 +9,40 @@ export const useMeasurements = (onResult, {
|
|
|
9
9
|
const runtime = useBluetoothRuntime();
|
|
10
10
|
const [measurements, setMeasurements] = React.useState([]);
|
|
11
11
|
const seen = React.useRef(new Set());
|
|
12
|
+
const seenMeasurementKinds = React.useRef(new Set());
|
|
13
|
+
const seenDailyTotals = React.useRef(new Set());
|
|
12
14
|
const onResultRef = React.useRef(onResult);
|
|
13
15
|
onResultRef.current = onResult;
|
|
16
|
+
const acceptsResult = React.useCallback(result => {
|
|
17
|
+
const measurementTypeKey = String(result.data.measurementTypeKey);
|
|
18
|
+
if (policy === "first-reading-per-kind-per-connection") {
|
|
19
|
+
if (seenMeasurementKinds.current.has(measurementTypeKey)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
seenMeasurementKinds.current.add(measurementTypeKey);
|
|
23
|
+
}
|
|
24
|
+
if (policy === "daily-totals-only") {
|
|
25
|
+
const temporal = result.data;
|
|
26
|
+
const end = temporal.end instanceof Date ? temporal.end : undefined;
|
|
27
|
+
if (end && end.getTime() > Date.now()) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const day = temporal.end ?? temporal.start ?? temporal.recordedAt;
|
|
31
|
+
if (day instanceof Date) {
|
|
32
|
+
const key = `${measurementTypeKey}:${day.toISOString().slice(0, 10)}`;
|
|
33
|
+
if (seenDailyTotals.current.has(key)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
seenDailyTotals.current.add(key);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}, [policy]);
|
|
14
41
|
React.useEffect(() => {
|
|
15
42
|
return runtime.subscribe("result", result => {
|
|
43
|
+
if (!acceptsResult(result)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
16
46
|
if (seen.current.has(result.id)) {
|
|
17
47
|
return;
|
|
18
48
|
}
|
|
@@ -20,30 +50,22 @@ export const useMeasurements = (onResult, {
|
|
|
20
50
|
setMeasurements(current => [...current, result].slice(-maxResults));
|
|
21
51
|
onResultRef.current?.(result);
|
|
22
52
|
});
|
|
23
|
-
}, [maxResults, runtime]);
|
|
24
|
-
|
|
25
|
-
// The manager applies device policies at source; this is a host-side guard for
|
|
26
|
-
// consumers that want a single stream policy without changing the scan config.
|
|
53
|
+
}, [acceptsResult, maxResults, runtime]);
|
|
27
54
|
React.useEffect(() => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return current.filter(result => {
|
|
34
|
-
const key = String(result.data.measurementTypeKey);
|
|
35
|
-
if (policy === "first-reading-per-kind-per-connection" && byKind.has(key)) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
byKind.add(key);
|
|
39
|
-
return true;
|
|
40
|
-
});
|
|
55
|
+
const unsubscribe = runtime.subscribe("connection", event => {
|
|
56
|
+
if (event.kind === "bonded") {
|
|
57
|
+
seenMeasurementKinds.current.clear();
|
|
58
|
+
seenDailyTotals.current.clear();
|
|
59
|
+
}
|
|
41
60
|
});
|
|
42
|
-
|
|
61
|
+
return unsubscribe;
|
|
62
|
+
}, [runtime]);
|
|
43
63
|
return {
|
|
44
64
|
measurements,
|
|
45
65
|
clear: () => {
|
|
46
66
|
seen.current.clear();
|
|
67
|
+
seenMeasurementKinds.current.clear();
|
|
68
|
+
seenDailyTotals.current.clear();
|
|
47
69
|
setMeasurements([]);
|
|
48
70
|
}
|
|
49
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useBluetoothRuntime","useMeasurements","onResult","policy","maxResults","runtime","measurements","setMeasurements","useState","seen","useRef","Set","onResultRef","current","
|
|
1
|
+
{"version":3,"names":["React","useBluetoothRuntime","useMeasurements","onResult","policy","maxResults","runtime","measurements","setMeasurements","useState","seen","useRef","Set","seenMeasurementKinds","seenDailyTotals","onResultRef","current","acceptsResult","useCallback","result","measurementTypeKey","String","data","has","add","temporal","end","Date","undefined","getTime","now","day","start","recordedAt","key","toISOString","slice","useEffect","subscribe","id","unsubscribe","event","kind","clear"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-measurements.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,14 @@ import { useBluetoothRuntime } from "./runtime-context.js";
|
|
|
5
5
|
export const useNearbyDevices = () => {
|
|
6
6
|
const runtime = useBluetoothRuntime();
|
|
7
7
|
const [, redraw] = React.useReducer(value => value + 1, 0);
|
|
8
|
-
React.useEffect(() =>
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
const unsubscribeFound = runtime.subscribe("deviceFound", redraw);
|
|
10
|
+
const unsubscribeStatus = runtime.subscribe("status", redraw);
|
|
11
|
+
return () => {
|
|
12
|
+
unsubscribeFound();
|
|
13
|
+
unsubscribeStatus();
|
|
14
|
+
};
|
|
15
|
+
}, [runtime]);
|
|
9
16
|
return {
|
|
10
17
|
devices: runtime.devices,
|
|
11
18
|
pair: async id => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useBluetoothRuntime","useNearbyDevices","runtime","redraw","useReducer","value","useEffect","subscribe","devices","pair","id","device","find","item","connect"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-devices.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,SAAwBC,mBAAmB,QAAQ,sBAAmB;AAEtE,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAG3B;EACH,MAAMC,OAAO,GAAGF,mBAAmB,CAAC,CAAC;EACrC,MAAM,GAAGG,MAAM,CAAC,GAAGJ,KAAK,CAACK,UAAU,CAAEC,KAAK,IAAKA,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;EAE5DN,KAAK,CAACO,SAAS,CAAC,
|
|
1
|
+
{"version":3,"names":["React","useBluetoothRuntime","useNearbyDevices","runtime","redraw","useReducer","value","useEffect","unsubscribeFound","subscribe","unsubscribeStatus","devices","pair","id","device","find","item","connect"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-devices.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,SAAwBC,mBAAmB,QAAQ,sBAAmB;AAEtE,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAG3B;EACH,MAAMC,OAAO,GAAGF,mBAAmB,CAAC,CAAC;EACrC,MAAM,GAAGG,MAAM,CAAC,GAAGJ,KAAK,CAACK,UAAU,CAAEC,KAAK,IAAKA,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;EAE5DN,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,gBAAgB,GAAGL,OAAO,CAACM,SAAS,CAAC,aAAa,EAAEL,MAAM,CAAC;IACjE,MAAMM,iBAAiB,GAAGP,OAAO,CAACM,SAAS,CAAC,QAAQ,EAAEL,MAAM,CAAC;IAE7D,OAAO,MAAM;MACXI,gBAAgB,CAAC,CAAC;MAClBE,iBAAiB,CAAC,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACP,OAAO,CAAC,CAAC;EAEb,OAAO;IACLQ,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,IAAI,EAAE,MAAOC,EAAE,IAAK;MAClB,MAAMC,MAAM,GAAGX,OAAO,CAACQ,OAAO,CAACI,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACH,EAAE,KAAKA,EAAE,CAAC;MAE7D,IAAIC,MAAM,EAAE;QAAC,MAAMA,MAAM,CAACA,MAAM,CAACG,OAAO,CAAC,CAAC;MAAC;MAE3C,OAAOH,MAAM;IACf;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -11,15 +11,21 @@ export const usePairedDevices = ({
|
|
|
11
11
|
}) => {
|
|
12
12
|
const runtime = useBluetoothRuntime();
|
|
13
13
|
const [paired, setPaired] = React.useState([]);
|
|
14
|
+
const pairedRef = React.useRef([]);
|
|
15
|
+
const [, redraw] = React.useReducer(value => value + 1, 0);
|
|
14
16
|
const save = React.useCallback(async next => {
|
|
17
|
+
pairedRef.current = next;
|
|
15
18
|
setPaired(next);
|
|
16
19
|
await storage.setItem(storageKey, JSON.stringify(next));
|
|
17
20
|
}, [storage, storageKey]);
|
|
21
|
+
React.useEffect(() => runtime.subscribe("deviceFound", redraw), [runtime]);
|
|
18
22
|
React.useEffect(() => {
|
|
19
23
|
void storage.getItem(storageKey).then(value => {
|
|
20
24
|
try {
|
|
21
25
|
const parsed = value ? JSON.parse(value) : [];
|
|
22
|
-
|
|
26
|
+
const next = Array.isArray(parsed) ? parsed.filter(id => typeof id === "string") : [];
|
|
27
|
+
pairedRef.current = next;
|
|
28
|
+
setPaired(next);
|
|
23
29
|
} catch {
|
|
24
30
|
setPaired([]);
|
|
25
31
|
}
|
|
@@ -33,10 +39,13 @@ export const usePairedDevices = ({
|
|
|
33
39
|
}, [autoPair, paired, runtime, runtime.devices]);
|
|
34
40
|
return {
|
|
35
41
|
paired,
|
|
36
|
-
pair: device => save([...new Set([...
|
|
42
|
+
pair: device => save([...new Set([...pairedRef.current, device.id])]),
|
|
37
43
|
forget: async id => {
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
if (!runtime.manager) {
|
|
45
|
+
throw new Error("Bluetooth manager is not ready; try forgetting the device again.");
|
|
46
|
+
}
|
|
47
|
+
await runtime.manager.forget(id);
|
|
48
|
+
await save(pairedRef.current.filter(candidate => candidate !== id));
|
|
40
49
|
}
|
|
41
50
|
};
|
|
42
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useBluetoothRuntime","usePairedDevices","storage","storageKey","autoPair","runtime","paired","setPaired","useState","save","useCallback","next","setItem","JSON","stringify","useEffect","
|
|
1
|
+
{"version":3,"names":["React","useBluetoothRuntime","usePairedDevices","storage","storageKey","autoPair","runtime","paired","setPaired","useState","pairedRef","useRef","redraw","useReducer","value","save","useCallback","next","current","setItem","JSON","stringify","useEffect","subscribe","getItem","then","parsed","parse","Array","isArray","filter","id","devices","device","includes","forEach","connect","pair","Set","forget","manager","Error","candidate"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-paired-devices.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { useBluetoothRuntime } from "./runtime-context.js";
|
|
5
|
+
|
|
6
|
+
/** Exposes scan pause/resume to apps using BTProvider. */
|
|
7
|
+
export const useScanControl = () => {
|
|
8
|
+
const runtime = useBluetoothRuntime();
|
|
9
|
+
React.useSyncExternalStore(runtime.subscribeState, () => runtime.manager, () => undefined);
|
|
10
|
+
return {
|
|
11
|
+
canControl: Boolean(runtime.manager),
|
|
12
|
+
pauseScan: () => runtime.manager?.pauseScan(),
|
|
13
|
+
resumeScan: () => runtime.manager?.resumeScan()
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=use-scan-control.js.map
|