@ovok/native 1.5.1 → 1.5.2

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.
Files changed (150) hide show
  1. package/android/build.gradle +43 -0
  2. package/android/src/main/AndroidManifest.xml +23 -0
  3. package/android/src/main/java/com/ovok/sdk/backgroundsync/BackgroundSyncNotification.java +78 -0
  4. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +109 -0
  5. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncPackage.java +26 -0
  6. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBluetoothForegroundService.java +28 -0
  7. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectTaskService.java +45 -0
  8. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectWorker.java +28 -0
  9. package/lib/commonjs/index.js +11 -0
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/modules/background-sync/android-background-sync.js +69 -0
  12. package/lib/commonjs/modules/background-sync/android-background-sync.js.map +1 -0
  13. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +49 -0
  14. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
  15. package/lib/commonjs/modules/background-sync/index.js +28 -0
  16. package/lib/commonjs/modules/background-sync/index.js.map +1 -0
  17. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +7 -1
  18. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +24 -2
  20. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +9 -6
  22. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js +16 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
  25. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +10 -5
  26. package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  27. package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js +5 -3
  28. package/lib/commonjs/modules/data-sync/components/android/android-health-sync.js.map +1 -1
  29. package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js +7 -4
  30. package/lib/commonjs/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
  31. package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js +27 -11
  32. package/lib/commonjs/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
  33. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +4 -3
  34. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  35. package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
  36. package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
  37. package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js +4 -1
  38. package/lib/commonjs/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
  39. package/lib/module/index.js +1 -0
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/modules/background-sync/android-background-sync.js +61 -0
  42. package/lib/module/modules/background-sync/android-background-sync.js.map +1 -0
  43. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +44 -0
  44. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -0
  45. package/lib/module/modules/background-sync/index.js +5 -0
  46. package/lib/module/modules/background-sync/index.js.map +1 -0
  47. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +7 -2
  48. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  49. package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js +24 -2
  50. package/lib/module/modules/bt-management/services/devices/bc01/bc01-frame-parser.js.map +1 -1
  51. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +9 -6
  52. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  53. package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js +16 -0
  54. package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -1
  55. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +10 -5
  56. package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
  57. package/lib/module/modules/data-sync/components/android/android-health-sync.js +5 -3
  58. package/lib/module/modules/data-sync/components/android/android-health-sync.js.map +1 -1
  59. package/lib/module/modules/data-sync/components/apple/apple-health-sync.js +7 -4
  60. package/lib/module/modules/data-sync/components/apple/apple-health-sync.js.map +1 -1
  61. package/lib/module/modules/data-sync/hooks/use-listen-changes.js +27 -10
  62. package/lib/module/modules/data-sync/hooks/use-listen-changes.js.map +1 -1
  63. package/lib/module/modules/data-sync/services/base-health-sync-service.js +4 -3
  64. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  65. package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +9 -5
  66. package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
  67. package/lib/module/modules/data-sync/services/managers/sync-state-manager.js +4 -1
  68. package/lib/module/modules/data-sync/services/managers/sync-state-manager.js.map +1 -1
  69. package/lib/typescript/commonjs/src/index.d.ts +1 -0
  70. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts +39 -0
  72. package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
  73. package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
  74. package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
  75. package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +3 -0
  76. package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -0
  77. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
  79. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +4 -0
  81. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +3 -0
  83. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +8 -0
  85. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
  87. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
  89. package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
  91. package/lib/typescript/commonjs/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/src/modules/data-sync/components/data-sync.d.ts +3 -3
  93. package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
  94. package/lib/typescript/commonjs/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -1
  96. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +3 -3
  98. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts +3 -1
  100. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +4 -1
  102. package/lib/typescript/commonjs/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
  104. package/lib/typescript/commonjs/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
  106. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +4 -1
  108. package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
  109. package/lib/typescript/module/src/index.d.ts +1 -0
  110. package/lib/typescript/module/src/index.d.ts.map +1 -1
  111. package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts +39 -0
  112. package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts.map +1 -0
  113. package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts +12 -0
  114. package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -0
  115. package/lib/typescript/module/src/modules/background-sync/index.d.ts +3 -0
  116. package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -0
  117. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  118. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts +11 -4
  119. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-frame-parser.d.ts.map +1 -1
  120. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +4 -0
  121. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  122. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +3 -0
  123. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -1
  124. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +8 -0
  125. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  126. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts +1 -1
  127. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
  128. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts +1 -1
  129. package/lib/typescript/module/src/modules/data-sync/components/android/android-health-sync.d.ts.map +1 -1
  130. package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts +1 -1
  131. package/lib/typescript/module/src/modules/data-sync/components/apple/apple-health-sync.d.ts.map +1 -1
  132. package/lib/typescript/module/src/modules/data-sync/components/data-sync.d.ts +3 -3
  133. package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts +1 -1
  134. package/lib/typescript/module/src/modules/data-sync/hooks/use-listen-changes.d.ts.map +1 -1
  135. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts +2 -1
  136. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  137. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +3 -3
  138. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts.map +1 -1
  139. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts +3 -1
  140. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-state-manager.d.ts.map +1 -1
  141. package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts +4 -1
  142. package/lib/typescript/module/src/modules/data-sync/types/android-health-connect-authorization-provider-props.d.ts.map +1 -1
  143. package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts +7 -2
  144. package/lib/typescript/module/src/modules/data-sync/types/apple-health-sync-props.d.ts.map +1 -1
  145. package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts +6 -0
  146. package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
  147. package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +4 -1
  148. package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
  149. package/package.json +6 -3
  150. package/react-native.config.js +11 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_useDeviceList","_sentryLogger","_backgroundBleManager","_backgroundServiceUuids","_backgroundSyncCoordinator","_btManager","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BTProviderChildWrapper","exports","memo","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","onDeviceFound","onError","onDeviceStatusChanged","onResult","backgroundSync","btManagerRef","useRef","backgroundSyncRef","backgroundSyncCoordinatorRef","setDeviceListItems","useDeviceList","current","useEffect","length","sentryLogger","currentBackgroundSync","isBackgroundEnabled","enabled","backgroundOptions","backgroundEnabled","serviceUUIDs","getBackgroundServiceUUIDs","undefined","managerOptions","btManager","keys","BTManager","coordinator","BackgroundSyncCoordinator","result","latest","setBackgroundScanEnabled","AppState","currentState","startScan","destroy","maxRetries","retryBackoffMs","storage","storageKey","callback","data","enqueue","catch","error","Error","String","status","deviceData","measurementTypeKey","prev","newList","index","findIndex","item","deviceType","name","restoredState","getRestoredBleState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","state","remove","jsx","Fragment"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_index","_useDeviceList","_sentryLogger","_backgroundBleManager","_backgroundServiceUuids","_backgroundSyncCoordinator","_btManager","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BTProviderChildWrapper","exports","memo","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","onDeviceFound","onError","onDeviceStatusChanged","onResult","backgroundSync","btManagerRef","useRef","backgroundSyncRef","backgroundSyncCoordinatorRef","setDeviceListItems","useDeviceList","current","useEffect","length","sentryLogger","currentBackgroundSync","isBackgroundEnabled","enabled","backgroundOptions","backgroundEnabled","serviceUUIDs","getBackgroundServiceUUIDs","undefined","managerOptions","btManager","keys","BTManager","coordinator","BackgroundSyncCoordinator","result","latest","setBackgroundScanEnabled","AppState","currentState","startScan","destroy","maxRetries","retryBackoffMs","storage","storageKey","callback","data","enqueue","catch","error","Error","String","status","deviceData","measurementTypeKey","prev","newList","index","findIndex","item","deviceType","name","restoredState","getRestoredBleState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","state","remove","jsx","AndroidBluetoothForegroundService","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.parseBc01Record = exports.isBc01Record = exports.BC01_URS_OPCODE = exports.BC01_RECORD_LENGTH = exports.BC01_PAGED_URS_OPCODE = exports.BC01_LAST_OF_SET_BIT = exports.BC01_ANALYTE_ORDER = void 0;
6
+ exports.parseBc01Record = exports.isBc01Record = exports.BC01_URS_OPCODE = exports.BC01_RECORD_LENGTH = exports.BC01_PAGED_URS_OPCODE = exports.BC01_LAST_OF_SET_BIT = exports.BC01_ANALYTE_VALUES = exports.BC01_ANALYTE_ORDER = void 0;
7
7
  var _hexToByte = require("../../../utils/hex-to-byte.js");
8
8
  /** BC401 stored-record frame is always sixteen bytes: header, timestamp, analytes, checksum. */
9
9
  const BC01_RECORD_LENGTH = exports.BC01_RECORD_LENGTH = 16;
@@ -36,6 +36,25 @@ const SECOND_MASK = 0x3f;
36
36
  * field the vendor's own catalog calls "vc" and no other name is documented.
37
37
  */
38
38
  const BC01_ANALYTE_ORDER = exports.BC01_ANALYTE_ORDER = ["uro", "bld", "bil", "ket", "glu", "pro", "ph", "nit", "leu", "sg", "vc"];
39
+ /**
40
+ * BC401's packed values are colour-chart indexes, not measurements. These
41
+ * values mirror the tables in Contec's BC401 integration (PHMS M1/a.java):
42
+ * the index is zero-based and `7` remains the device's unmeasured sentinel.
43
+ * The pH table is the URS-7 strip scale, which includes half-point readings.
44
+ */
45
+ const BC01_ANALYTE_VALUES = exports.BC01_ANALYTE_VALUES = {
46
+ uro: [0.2, 2, 4, 8],
47
+ bld: [0, 10, 25, 50, 250],
48
+ bil: [0, 1, 3, 6],
49
+ ket: [0, 15, 40, 80],
50
+ glu: [0, 50, 100, 250, 500, 1000],
51
+ pro: [0, 15, 30, 100, 300],
52
+ ph: [5, 6, 6.5, 7, 7.5, 8, 8.5],
53
+ nit: [0, 1],
54
+ leu: [0, 15, 70, 125, 500],
55
+ sg: [1.005, 1.01, 1.015, 1.02, 1.025, 1.03],
56
+ vc: [0, 10, 25, 50, 100]
57
+ };
39
58
 
40
59
  /** Where the packed analyte pairs start in a 16-byte E1/E2 frame. */
41
60
  const ANALYTES_START = 8;
@@ -87,7 +106,10 @@ const parseBc01Record = frame => {
87
106
  if (level === UNMEASURED) {
88
107
  return;
89
108
  }
90
- values[analyte] = level;
109
+ const value = BC01_ANALYTE_VALUES[analyte][level];
110
+ if (value !== undefined) {
111
+ values[analyte] = value;
112
+ }
91
113
  });
92
114
  return {
93
115
  timestamp,
@@ -1 +1 @@
1
- {"version":3,"names":["_hexToByte","require","BC01_RECORD_LENGTH","exports","BC01_URS_OPCODE","BC01_PAGED_URS_OPCODE","BC01_LAST_OF_SET_BIT","UNMEASURED","YEAR_BASE","MONTH_MASK","DAY_MASK","HOUR_MASK","MINUTE_MASK","SECOND_MASK","BC01_ANALYTE_ORDER","ANALYTES_START","readPad","packed","slot","parseBc01Record","frame","length","undefined","opcode","hexToByte","flags","yy","mm","dd","hh","mi","ss","timestamp","Date","values","forEach","analyte","position","byteIndex","Math","floor","level","lastOfSet","pageIndex","isBc01Record"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-frame-parser.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_hexToByte","require","BC01_RECORD_LENGTH","exports","BC01_URS_OPCODE","BC01_PAGED_URS_OPCODE","BC01_LAST_OF_SET_BIT","UNMEASURED","YEAR_BASE","MONTH_MASK","DAY_MASK","HOUR_MASK","MINUTE_MASK","SECOND_MASK","BC01_ANALYTE_ORDER","BC01_ANALYTE_VALUES","uro","bld","bil","ket","glu","pro","ph","nit","leu","sg","vc","ANALYTES_START","readPad","packed","slot","parseBc01Record","frame","length","undefined","opcode","hexToByte","flags","yy","mm","dd","hh","mi","ss","timestamp","Date","values","forEach","analyte","position","byteIndex","Math","floor","level","value","lastOfSet","pageIndex","isBc01Record"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01-frame-parser.ts"],"mappings":"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","ignoreList":[]}
@@ -143,6 +143,9 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
143
143
  return;
144
144
  }
145
145
 
146
+ /** Adds protocol-specific metadata to a validated reading before it is emitted. */
147
+ decorateReading = (reading, _frame, _recordOffset) => reading;
148
+
146
149
  /**
147
150
  * Reports what the frame carried, which may be more than one reading.
148
151
  *
@@ -154,12 +157,12 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
154
157
  reportFrame(data) {
155
158
  const repeated = data.parsingCase.repeatedRecords;
156
159
  if (!repeated || !data.frame) {
157
- this.report(data.parsedData, data.parsingCase);
160
+ this.report(data.parsedData, data.parsingCase, data.frame);
158
161
  return;
159
162
  }
160
163
  const records = Math.floor((data.frame.length - repeated.from) / repeated.recordBytes);
161
164
  for (let record = 0; record < records; record++) {
162
- this.report((0, _parseMeasurement.parseMeasurement)(data.frame, data.parsingCase, repeated.from + record * repeated.recordBytes), data.parsingCase);
165
+ this.report((0, _parseMeasurement.parseMeasurement)(data.frame, data.parsingCase, repeated.from + record * repeated.recordBytes), data.parsingCase, data.frame, repeated.from + record * repeated.recordBytes);
163
166
  }
164
167
  }
165
168
 
@@ -174,18 +177,18 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
174
177
  * A reading that fails its checks is discarded on its own. A temperature the device could
175
178
  * not take is no reason to withhold the heart rate in the same frame.
176
179
  */
177
- report(parsedData, parsingCase) {
180
+ report(parsedData, parsingCase, frame, recordOffset) {
178
181
  const measurements = parsingCase.measurements ?? [];
179
182
  if (measurements.length === 0) {
180
183
  this.discard("a result frame carries no measurement type", parsedData);
181
184
  return;
182
185
  }
183
- measurements.forEach(measurement => this.reportMeasurement(parsedData, measurement));
186
+ measurements.forEach(measurement => this.reportMeasurement(parsedData, measurement, frame, recordOffset));
184
187
  }
185
188
  discard(reason, parsedData) {
186
189
  this.onError?.((0, _rejectCustomReading.discardedReadingError)(this.definition.id, reason, parsedData));
187
190
  }
188
- reportMeasurement(parsedData, measurement) {
191
+ reportMeasurement(parsedData, measurement, frame, recordOffset) {
189
192
  const reading = {
190
193
  caseType: parsedData.caseType,
191
194
  measurementTypeKey: measurement.measurementTypeKey
@@ -198,7 +201,7 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
198
201
  this.discard(rejection, reading);
199
202
  return;
200
203
  }
201
- this.onResult?.(reading);
204
+ this.onResult?.(this.decorateReading(reading, frame, recordOffset));
202
205
  }
203
206
  }
204
207
  exports.CustomDevice = CustomDevice;
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuCommandBuilder","_lepuFileTransfer","_lepuFrameReader","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","fileTransfer","LepuFileTransfer","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","file","decoded","decodeViatomEcgRecording","content","samples","length","name","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","info","recordLepuIdentity","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","parseMeasurement","measurements","discard","measurement","reportMeasurement","discardedReadingError","reading","fieldNames","rejection","map","rejectCustomReading","fields","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuCommandBuilder","_lepuFileTransfer","_lepuFrameReader","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","fileTransfer","LepuFileTransfer","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","file","decoded","decodeViatomEcgRecording","content","samples","length","name","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","info","recordLepuIdentity","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","_frame","_recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","parseMeasurement","recordOffset","measurements","discard","measurement","reportMeasurement","discardedReadingError","fieldNames","rejection","map","rejectCustomReading","fields","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -5,12 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.MySenseDevice = void 0;
7
7
  var _core = require("@ovok/core");
8
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
8
9
  var _defineCustomDevice = require("../../custom/define-custom-device.js");
9
10
  var _customDevice = require("../custom/custom.device.js");
10
11
  var _mysenseFrameReader = require("./mysense.frame-reader.js");
11
12
  var _mysenseSequencer = require("./mysense.sequencer.js");
12
13
  const SERVICE = "0000fff0-0000-1000-8000-00805f9b34fb";
13
14
  const NOTIFY = "0000fff1-0000-1000-8000-00805f9b34fb";
15
+ const recordedAtFromMySenseRecord = record => {
16
+ if (record.length < 5) {
17
+ return undefined;
18
+ }
19
+ const [year, month, day, hour, minute] = record.slice(0, 5).map(byte => (0, _hexToByte.hexToByte)(byte));
20
+ const recordedAt = new Date(2000 + year, month - 1, day, hour, minute);
21
+ return recordedAt.getFullYear() === 2000 + year && recordedAt.getMonth() === month - 1 && recordedAt.getDate() === day && recordedAt.getHours() === hour && recordedAt.getMinutes() === minute ? recordedAt : undefined;
22
+ };
14
23
  const definition = (0, _defineCustomDevice.defineCustomDevice)({
15
24
  id: "cyclotest-mysense",
16
25
  nameMatch: "mySense",
@@ -73,6 +82,13 @@ class MySenseDevice extends _customDevice.CustomDevice {
73
82
  this.reportedHistory = true;
74
83
  return true;
75
84
  };
85
+ decorateReading = (reading, frame, recordOffset = 0) => {
86
+ const recordedAt = frame ? recordedAtFromMySenseRecord(frame.slice(recordOffset, recordOffset + 5)) : undefined;
87
+ return recordedAt ? {
88
+ ...reading,
89
+ recordedAt
90
+ } : reading;
91
+ };
76
92
  }
77
93
  exports.MySenseDevice = MySenseDevice;
78
94
  //# sourceMappingURL=mysense.device.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_defineCustomDevice","_customDevice","_mysenseFrameReader","_mysenseSequencer","SERVICE","NOTIFY","definition","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases","selector","kind","description","repeatedRecords","recordBytes","from","measurementTypeKey","MeasurementTypeKey","temperature","fields","name","byteIndexes","encoding","unit","decimals","MySenseDevice","CustomDevice","reportedHistory","constructor","device","params","frameReader","MySenseFrameReader","createCommandSequencer","MySenseSequencer","onGreeting","deviceData","sn","slice","join","shouldReportDependentResult","data","parsingCase","caseValue","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/mysense.device.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAQA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAEA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AAEA,MAAMK,OAAO,GAAG,sCAAsC;AACtD,MAAMC,MAAM,GAAG,sCAAsC;AAMrD,MAAMC,UAAU,GAAG,IAAAC,sCAAkB,EAAC;EACpCC,EAAE,EAAE,mBAAmB;EACvBC,SAAS,EAAE,SAAS;EACpBC,kBAAkB,EAAE,MAAM;EAC1BC,QAAQ,EAAE,CACR;IACEC,IAAI,EAAER,OAAO;IACbS,OAAO,EAAE,CACP;MACED,IAAI,EAAEP,MAAM;MACZS,KAAK,EAAE;QAAEC,cAAc,EAAE;MAAG,CAAC;MAC7BC,iBAAiB,EAAE,CAAC,CAAC,CAAC;MACtBC,KAAK,EAAE,CACL;QACEC,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE,MAAM;QACZJ,cAAc,EAAE,EAAE;QAClBK,WAAW,EAAE;MACf,CAAC,EACD;QACEF,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE,QAAQ;QACdJ,cAAc,EAAE,EAAE;QAClBM,eAAe,EAAE;UAAEC,WAAW,EAAE,CAAC;UAAEC,IAAI,EAAE;QAAE,CAAC;QAC5CC,kBAAkB,EAAEC,wBAAkB,CAACC,WAAW;QAClDN,WAAW,EAAE,oCAAoC;QACjDO,MAAM,EAAE,CACN;UACEC,IAAI,EAAE,UAAU;UAChBC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;UACnBC,QAAQ,EAAE,cAAc;UACxBC,IAAI,EAAE,KAAK;UACXC,QAAQ,EAAE;QACZ,CAAC;MAEL,CAAC;IAEL,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAEK,MAAMC,aAAa,SAASC,0BAAY,CAAC;EACtCC,eAAe,GAAG,KAAK;EAExBC,WAAWA,CAChBC,MAAc,EACdC,MAAqD,EACrD;IACA,KAAK,CACHD,MAAM,EACNC,MAAM,EACNhC,UACF,CAAC;IAED,IAAI,CAACiC,WAAW,GAAG,IAAIC,sCAAkB,CAAC,CAAC;IAC3C,IAAI,CAACC,sBAAsB,GAAG,MAAM;MAClC,IAAI,CAACN,eAAe,GAAG,KAAK;MAE5B,OAAO,IAAIO,kCAAgB,CAAC;QAC1BC,UAAU,EAAG7B,KAAK,IAAK;UACrB,IAAI,CAAC8B,UAAU,CAACC,EAAE,GAAG/B,KAAK,CAACgC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;QACnD;MACF,CAAC,CAAC;IACJ,CAAC;EACH;EAEUC,2BAA2B,GAAIC,IAAmB,IAAc;IACxE,IAAIA,IAAI,CAACC,WAAW,CAACC,SAAS,KAAK,IAAI,EAAE;MACvC,OAAO,IAAI;IACb;IAEA,IAAI,IAAI,CAAChB,eAAe,EAAE;MACxB,OAAO,KAAK;IACd;IAEA,IAAI,CAACA,eAAe,GAAG,IAAI;IAE3B,OAAO,IAAI;EACb,CAAC;AACH;AAACiB,OAAA,CAAAnB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_hexToByte","_defineCustomDevice","_customDevice","_mysenseFrameReader","_mysenseSequencer","SERVICE","NOTIFY","recordedAtFromMySenseRecord","record","length","undefined","year","month","day","hour","minute","slice","map","byte","hexToByte","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","definition","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases","selector","kind","description","repeatedRecords","recordBytes","from","measurementTypeKey","MeasurementTypeKey","temperature","fields","name","byteIndexes","encoding","unit","decimals","MySenseDevice","CustomDevice","reportedHistory","constructor","device","params","frameReader","MySenseFrameReader","createCommandSequencer","MySenseSequencer","onGreeting","deviceData","sn","join","shouldReportDependentResult","data","parsingCase","caseValue","decorateReading","reading","recordOffset","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/mysense.device.ts"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _reactNativeHealthConnect = require("react-native-health-connect");
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
10
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
- const useHealthConnectAuthorization = (readIdentifiers, writeIdentifiers) => {
11
+ const useHealthConnectAuthorization = (readIdentifiers, writeIdentifiers, backgroundAccess = false) => {
12
12
  const [status, setStatus] = React.useState("shouldRequest");
13
13
  const requestAuthorization = React.useCallback(async () => {
14
14
  try {
@@ -25,7 +25,11 @@ const useHealthConnectAuthorization = (readIdentifiers, writeIdentifiers) => {
25
25
  accessType: "write",
26
26
  recordType
27
27
  }));
28
- const permissions = [...readPermissions, ...writePermissions];
28
+ const backgroundPermissions = backgroundAccess ? [{
29
+ accessType: "read",
30
+ recordType: "BackgroundAccessPermission"
31
+ }] : [];
32
+ const permissions = [...readPermissions, ...writePermissions, ...backgroundPermissions];
29
33
  await (0, _reactNativeHealthConnect.requestPermission)(permissions);
30
34
  const grantedPermissions = await (0, _reactNativeHealthConnect.getGrantedPermissions)();
31
35
  const allGranted = permissions.every(permission => grantedPermissions.some(granted => granted.accessType === permission.accessType && granted.recordType === permission.recordType));
@@ -33,7 +37,7 @@ const useHealthConnectAuthorization = (readIdentifiers, writeIdentifiers) => {
33
37
  } catch {
34
38
  setStatus("error");
35
39
  }
36
- }, [readIdentifiers, writeIdentifiers]);
40
+ }, [backgroundAccess, readIdentifiers, writeIdentifiers]);
37
41
  return [status, requestAuthorization];
38
42
  };
39
43
 
@@ -44,9 +48,10 @@ const AndroidHealthConnectAuthorizationProvider = exports.AndroidHealthConnectAu
44
48
  fallback,
45
49
  children,
46
50
  skipRequest,
47
- renderManualRequestUI
51
+ renderManualRequestUI,
52
+ backgroundAccess
48
53
  }) => {
49
- const [authorizationStatus, requestAuthorization] = useHealthConnectAuthorization(readIdentifiers, writeIdentifiers);
54
+ const [authorizationStatus, requestAuthorization] = useHealthConnectAuthorization(readIdentifiers, writeIdentifiers, backgroundAccess);
50
55
  const shouldRenderManualRequestUI = renderManualRequestUI && authorizationStatus === "shouldRequest" && !skipRequest;
51
56
  const shouldRenderFallback = fallback && authorizationStatus === "shouldRequest" && !skipRequest;
52
57
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNativeHealthConnect","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useHealthConnectAuthorization","readIdentifiers","writeIdentifiers","status","setStatus","useState","requestAuthorization","useCallback","isInitialized","initialize","readPermissions","map","recordType","accessType","writePermissions","permissions","requestPermission","grantedPermissions","getGrantedPermissions","allGranted","every","permission","some","granted","AndroidHealthConnectAuthorizationProvider","exports","memo","fallback","children","skipRequest","renderManualRequestUI","authorizationStatus","shouldRenderManualRequestUI","shouldRenderFallback","useEffect","jsx","Fragment"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/android/android-health-connect-authorization-provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNativeHealthConnect","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useHealthConnectAuthorization","readIdentifiers","writeIdentifiers","backgroundAccess","status","setStatus","useState","requestAuthorization","useCallback","isInitialized","initialize","readPermissions","map","recordType","accessType","writePermissions","backgroundPermissions","permissions","requestPermission","grantedPermissions","getGrantedPermissions","allGranted","every","permission","some","granted","AndroidHealthConnectAuthorizationProvider","exports","memo","fallback","children","skipRequest","renderManualRequestUI","authorizationStatus","shouldRenderManualRequestUI","shouldRenderFallback","useEffect","jsx","Fragment"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/android/android-health-connect-authorization-provider.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAD,OAAA;AAIqC,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAYrC,MAAMkB,6BAA6B,GAAGA,CACpCC,eAA6B,EAC7BC,gBAA+B,EAC/BC,gBAAgB,GAAG,KAAK,KACuB;EAC/C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GACvB7B,KAAK,CAAC8B,QAAQ,CAAsB,eAAe,CAAC;EAEtD,MAAMC,oBAAoB,GAAG/B,KAAK,CAACgC,WAAW,CAAC,YAAY;IACzD,IAAI;MACF,MAAMC,aAAa,GAAG,MAAM,IAAAC,oCAAU,EAAC,CAAC;MAExC,IAAI,CAACD,aAAa,EAAE;QAClBJ,SAAS,CAAC,OAAO,CAAC;QAElB;MACF;MAEA,MAAMM,eAA6B,GAAGV,eAAe,CAACW,GAAG,CACtDC,UAAU,KAAM;QACfC,UAAU,EAAE,MAAe;QAC3BD;MACF,CAAC,CACH,CAAC;MAED,MAAME,gBAA8B,GAAG,CAACb,gBAAgB,IAAI,EAAE,EAAEU,GAAG,CAChEC,UAAU,KAAM;QACfC,UAAU,EAAE,OAAgB;QAC5BD;MACF,CAAC,CACH,CAAC;MAED,MAAMG,qBAAmD,GACvDb,gBAAgB,GACZ,CACE;QACEW,UAAU,EAAE,MAAM;QAClBD,UAAU,EAAE;MACd,CAAC,CACF,GACD,EAAE;MAER,MAAMI,WAAW,GAAG,CAClB,GAAGN,eAAe,EAClB,GAAGI,gBAAgB,EACnB,GAAGC,qBAAqB,CACzB;MAED,MAAM,IAAAE,2CAAiB,EAACD,WAAW,CAAC;MAEpC,MAAME,kBAAkB,GAAG,MAAM,IAAAC,+CAAqB,EAAC,CAAC;MAExD,MAAMC,UAAU,GAAGJ,WAAW,CAACK,KAAK,CAAEC,UAAU,IAC9CJ,kBAAkB,CAACK,IAAI,CACpBC,OAAO,IACNA,OAAO,CAACX,UAAU,KAAKS,UAAU,CAACT,UAAU,IAC5CW,OAAO,CAACZ,UAAU,KAAKU,UAAU,CAACV,UACtC,CACF,CAAC;MAEDR,SAAS,CAACgB,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;IACxD,CAAC,CAAC,MAAM;MACNhB,SAAS,CAAC,OAAO,CAAC;IACpB;EACF,CAAC,EAAE,CAACF,gBAAgB,EAAEF,eAAe,EAAEC,gBAAgB,CAAC,CAAC;EAEzD,OAAO,CAACE,MAAM,EAAEG,oBAAoB,CAAC;AACvC,CAAC;;AAED;AACO,MAAMmB,yCAAyC,GAAAC,OAAA,CAAAD,yCAAA,gBAAGlD,KAAK,CAACoD,IAAI,CACjE,CAAC;EACC3B,eAAe;EACfC,gBAAgB;EAChB2B,QAAQ;EACRC,QAAQ;EACRC,WAAW;EACXC,qBAAqB;EACrB7B;AACuE,CAAC,KAAK;EAC7E,MAAM,CAAC8B,mBAAmB,EAAE1B,oBAAoB,CAAC,GAC/CP,6BAA6B,CAC3BC,eAAe,EACfC,gBAAgB,EAChBC,gBACF,CAAC;EAEH,MAAM+B,2BAA2B,GAC/BF,qBAAqB,IACrBC,mBAAmB,KAAK,eAAe,IACvC,CAACF,WAAW;EAEd,MAAMI,oBAAoB,GACxBN,QAAQ,IAAII,mBAAmB,KAAK,eAAe,IAAI,CAACF,WAAW;EAErEvD,KAAK,CAAC4D,SAAS,CAAC,MAAM;IACpB,IAAIJ,qBAAqB,EAAE;MACzB;IACF;IAEA,IAAIC,mBAAmB,KAAK,eAAe,EAAE;MAC3C1B,oBAAoB,CAAC,CAAC;IACxB;EACF,CAAC,EAAE,CAAC0B,mBAAmB,EAAE1B,oBAAoB,EAAEyB,qBAAqB,CAAC,CAAC;EAEtE,IAAIC,mBAAmB,KAAK,SAAS,EAAE;IACrC,OAAO,IAAI;EACb;EAEA,IAAIC,2BAA2B,EAAE;IAC/B,OAAOF,qBAAqB,GAAGzB,oBAAoB,CAAC;EACtD;EAEA,IAAI4B,oBAAoB,EAAE;IACxB,oBAAO,IAAAvD,WAAA,CAAAyD,GAAA,EAAAzD,WAAA,CAAA0D,QAAA;MAAAR,QAAA,EAAGD,QAAQ,IAAI;IAAI,CAAG,CAAC;EAChC;EAEA,IAAII,mBAAmB,KAAK,YAAY,EAAE;IACxC,oBAAO,IAAArD,WAAA,CAAAyD,GAAA,EAAAzD,WAAA,CAAA0D,QAAA;MAAAR,QAAA,EAAGA;IAAQ,CAAG,CAAC;EACxB;EAEA,OAAO,IAAI;AACb,CACF,CAAC","ignoreList":[]}
@@ -12,6 +12,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
12
12
  const AndroidHealthSync = exports.AndroidHealthSync = /*#__PURE__*/React.memo(({
13
13
  dataToSync,
14
14
  chunkSize,
15
+ wifiOnly = false,
15
16
  onError,
16
17
  onProgress
17
18
  }) => {
@@ -51,12 +52,13 @@ const AndroidHealthSync = exports.AndroidHealthSync = /*#__PURE__*/React.memo(({
51
52
  if (!serviceRef.current) {
52
53
  return;
53
54
  }
54
- if (!isConnected || type !== "wifi") {
55
- serviceRef.current.pauseSync();
55
+ const pauseReason = !isConnected ? "offline" : wifiOnly && type !== "wifi" ? "wifi-only" : undefined;
56
+ if (pauseReason) {
57
+ serviceRef.current.pauseSync(pauseReason);
56
58
  return;
57
59
  }
58
60
  serviceRef.current.startSync();
59
- }, [isConnected, type]);
61
+ }, [isConnected, type, wifiOnly]);
60
62
  React.useEffect(() => {
61
63
  onErrorRef.current = onError;
62
64
  onProgressRef.current = onProgress;
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_netinfo","React","_interopRequireWildcard","_androidHealthSyncService","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AndroidHealthSync","exports","memo","dataToSync","chunkSize","onError","onProgress","client","useClient","patient","useMedplumProfile","serviceRef","useRef","isConnected","type","useNetInfo","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","AndroidHealthSyncService","getInstance","patientId","id","onSyncError","error","startSync","useEffect","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/android/android-health-sync.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_netinfo","React","_interopRequireWildcard","_androidHealthSyncService","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AndroidHealthSync","exports","memo","dataToSync","chunkSize","wifiOnly","onError","onProgress","client","useClient","patient","useMedplumProfile","serviceRef","useRef","isConnected","type","useNetInfo","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","AndroidHealthSyncService","getInstance","patientId","id","onSyncError","error","startSync","useEffect","pauseReason","undefined","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/android/android-health-sync.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
13
13
  const AppleHealthSync = exports.AppleHealthSync = /*#__PURE__*/React.memo(({
14
14
  dataToSync,
15
15
  chunkSize,
16
+ wifiOnly = false,
17
+ backgroundDelivery,
16
18
  onError,
17
19
  onProgress
18
20
  }) => {
@@ -69,17 +71,18 @@ const AppleHealthSync = exports.AppleHealthSync = /*#__PURE__*/React.memo(({
69
71
  }, [syncData]);
70
72
  (0, _useListenChanges.useListenChanges)(dataToSync, () => {
71
73
  syncData();
72
- });
74
+ }, backgroundDelivery, error => onErrorRef.current?.(error));
73
75
  React.useEffect(() => {
74
76
  if (!serviceRef.current) {
75
77
  return;
76
78
  }
77
- if (!isConnected || type !== "wifi") {
78
- serviceRef.current.pauseSync();
79
+ const pauseReason = !isConnected ? "offline" : wifiOnly && type !== "wifi" ? "wifi-only" : undefined;
80
+ if (pauseReason) {
81
+ serviceRef.current.pauseSync(pauseReason);
79
82
  return;
80
83
  }
81
84
  serviceRef.current.startSync();
82
- }, [isConnected, type]);
85
+ }, [isConnected, type, wifiOnly]);
83
86
  React.useEffect(() => {
84
87
  onErrorRef.current = onError;
85
88
  onProgressRef.current = onProgress;
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_netinfo","React","_interopRequireWildcard","_useListenChanges","_appleHealthSyncService","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AppleHealthSync","exports","memo","dataToSync","chunkSize","onError","onProgress","client","useClient","patient","useMedplumProfile","serviceRef","useRef","isConnected","type","useNetInfo","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","AppleHealthSyncService","getInstance","patientId","id","onSyncError","error","startSync","useEffect","useListenChanges","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/apple/apple-health-sync.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_netinfo","React","_interopRequireWildcard","_useListenChanges","_appleHealthSyncService","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AppleHealthSync","exports","memo","dataToSync","chunkSize","wifiOnly","backgroundDelivery","onError","onProgress","client","useClient","patient","useMedplumProfile","serviceRef","useRef","isConnected","type","useNetInfo","onErrorRef","onProgressRef","progressRef","updateProgress","useCallback","progress","current","measurementTypeKey","syncData","AppleHealthSyncService","getInstance","patientId","id","onSyncError","error","startSync","useEffect","useListenChanges","pauseReason","undefined","pauseSync","stopSync"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/components/apple/apple-health-sync.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,16 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useListenChanges = void 0;
7
- var _reactNativeHealthkit = _interopRequireDefault(require("@kingstinct/react-native-healthkit"));
7
+ var _reactNativeHealthkit = _interopRequireWildcard(require("@kingstinct/react-native-healthkit"));
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- const useListenChanges = (dataToSync, onChange) => {
10
+ const useListenChanges = (dataToSync, onChange, backgroundDelivery, onError) => {
12
11
  const timeoutRef = React.useRef(undefined);
13
12
  const onChangeRef = React.useRef(onChange);
13
+ const onErrorRef = React.useRef(onError);
14
14
  const identifiers = React.useMemo(() => {
15
15
  return Object.values(dataToSync).flatMap(data => data?.typeIdentifiers.map(identifier => identifier.typeIdentifier));
16
16
  }, [dataToSync]);
17
+ const backgroundDeliveryEnabled = backgroundDelivery !== undefined;
18
+ const backgroundDeliveryFrequency = backgroundDelivery?.frequency ?? _reactNativeHealthkit.HKUpdateFrequency.hourly;
17
19
  const debouncedOnChange = React.useCallback(identifier => {
18
20
  if (timeoutRef.current) {
19
21
  clearTimeout(timeoutRef.current);
@@ -26,6 +28,9 @@ const useListenChanges = (dataToSync, onChange) => {
26
28
  React.useEffect(() => {
27
29
  onChangeRef.current = onChange;
28
30
  }, [onChange]);
31
+ React.useEffect(() => {
32
+ onErrorRef.current = onError;
33
+ }, [onError]);
29
34
  React.useEffect(() => {
30
35
  return () => {
31
36
  if (timeoutRef.current) {
@@ -36,21 +41,32 @@ const useListenChanges = (dataToSync, onChange) => {
36
41
  React.useEffect(() => {
37
42
  const subscriptions = [];
38
43
  const initSubscriptions = async () => {
39
- return Promise.all(identifiers.map(async identifier => {
40
- const subscription = await _reactNativeHealthkit.default.subscribeToChanges(identifier, () => {
41
- debouncedOnChange(identifier);
42
- });
43
- subscriptions.push(subscription);
44
- return subscription;
45
- }));
44
+ try {
45
+ return await Promise.all(identifiers.map(async identifier => {
46
+ if (backgroundDeliveryEnabled) {
47
+ await _reactNativeHealthkit.default.enableBackgroundDelivery(identifier, backgroundDeliveryFrequency);
48
+ }
49
+ const subscription = await _reactNativeHealthkit.default.subscribeToChanges(identifier, () => {
50
+ debouncedOnChange(identifier);
51
+ });
52
+ subscriptions.push(subscription);
53
+ return subscription;
54
+ }));
55
+ } catch (error) {
56
+ onErrorRef.current?.(error);
57
+ return undefined;
58
+ }
46
59
  };
47
60
  initSubscriptions();
48
61
  return () => {
49
62
  subscriptions.forEach(subscription => {
50
63
  subscription?.();
51
64
  });
65
+ if (backgroundDeliveryEnabled) {
66
+ void Promise.all(identifiers.map(identifier => _reactNativeHealthkit.default.disableBackgroundDelivery(identifier))).catch(error => onErrorRef.current?.(error));
67
+ }
52
68
  };
53
- }, [identifiers, debouncedOnChange]);
69
+ }, [identifiers, debouncedOnChange, backgroundDeliveryEnabled, backgroundDeliveryFrequency]);
54
70
  };
55
71
  exports.useListenChanges = useListenChanges;
56
72
  //# sourceMappingURL=use-listen-changes.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeHealthkit","_interopRequireDefault","require","React","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useListenChanges","dataToSync","onChange","timeoutRef","useRef","undefined","onChangeRef","identifiers","useMemo","values","flatMap","data","typeIdentifiers","map","identifier","typeIdentifier","debouncedOnChange","useCallback","current","clearTimeout","setTimeout","useEffect","subscriptions","initSubscriptions","Promise","all","subscription","Healthkit","subscribeToChanges","push","forEach","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/hooks/use-listen-changes.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeHealthkit","_interopRequireWildcard","require","React","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useListenChanges","dataToSync","onChange","backgroundDelivery","onError","timeoutRef","useRef","undefined","onChangeRef","onErrorRef","identifiers","useMemo","values","flatMap","data","typeIdentifiers","map","identifier","typeIdentifier","backgroundDeliveryEnabled","backgroundDeliveryFrequency","frequency","HKUpdateFrequency","hourly","debouncedOnChange","useCallback","current","clearTimeout","setTimeout","useEffect","subscriptions","initSubscriptions","Promise","all","Healthkit","enableBackgroundDelivery","subscription","subscribeToChanges","push","error","forEach","disableBackgroundDelivery","catch","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/hooks/use-listen-changes.ts"],"mappings":"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","ignoreList":[]}
@@ -39,7 +39,7 @@ class BaseHealthSyncService {
39
39
  await this.initializeSync();
40
40
  }
41
41
  await this.processAllDataTypes();
42
- this.progressManager.setPauseStatuses();
42
+ this.progressManager.setPauseStatuses(this.stateManager.pauseReason);
43
43
  } catch (error) {
44
44
  this.onSyncError(error);
45
45
  }
@@ -49,8 +49,9 @@ class BaseHealthSyncService {
49
49
  this.stateManager.reset();
50
50
  this.stateManager.shouldStopSync = true;
51
51
  }
52
- async pauseSync() {
53
- this.stateManager.pause();
52
+ async pauseSync(reason) {
53
+ this.stateManager.pause(reason);
54
+ this.progressManager.setPauseStatuses(reason);
54
55
  }
55
56
  async initializeSync() {
56
57
  const latestObservationDates = await this.dataProcessor.getLatestObservationDates(this.dataToSync);