react-native-polar-bridge 0.2.7 → 0.2.9

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.
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
17
17
  s.private_header_files = "ios/**/*.h"
18
18
 
19
- s.dependency 'PolarBleSdk', '~> 6.4.0'
19
+ s.dependency 'PolarBleSdk', '~> 6.14.0'
20
20
 
21
21
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
22
22
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
@@ -93,7 +93,7 @@ dependencies {
93
93
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
94
94
  implementation 'io.reactivex.rxjava3:rxjava:3.1.11'
95
95
  implementation 'io.reactivex.rxjava3:rxandroid:3.0.2'
96
- implementation 'com.github.polarofficial:polar-ble-sdk:6.4.0'
96
+ implementation 'com.github.polarofficial:polar-ble-sdk:6.14.0'
97
97
  }
98
98
 
99
99
  react {
@@ -1,5 +1,5 @@
1
1
  PolarBridge_kotlinVersion=2.0.21
2
- PolarBridge_minSdkVersion=24
2
+ PolarBridge_minSdkVersion=26
3
3
  PolarBridge_targetSdkVersion=34
4
4
  PolarBridge_compileSdkVersion=35
5
5
  PolarBridge_ndkVersion=27.1.12297006
@@ -1,7 +1,6 @@
1
1
  package com.polarbridge
2
2
 
3
3
  import android.util.Log
4
- import androidx.annotation.Nullable
5
4
  import com.facebook.react.bridge.*
6
5
  import com.facebook.react.module.annotations.ReactModule
7
6
  import com.polar.sdk.api.PolarBleApi
@@ -19,7 +18,7 @@ import io.reactivex.rxjava3.core.Single
19
18
  import java.util.*
20
19
  import java.util.concurrent.atomic.AtomicInteger
21
20
  import java.util.concurrent.TimeUnit
22
- import java.time.Instant
21
+ import java.time.*
23
22
 
24
23
  @ReactModule(name = PolarBridgeModule.NAME)
25
24
  class PolarBridgeModule(reactContext: ReactApplicationContext) :
@@ -211,7 +210,9 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
211
210
  )
212
211
 
213
212
  val map: WritableMap = Arguments.createMap()
214
- map.putDouble("recTimestamp", polarOfflineRecordingEntry.date.time.toDouble())
213
+ map.putDouble("recTimestamp", polarOfflineRecordingEntry.date
214
+ .toInstant(ZoneOffset.UTC)
215
+ .toEpochMilli().toDouble())
215
216
  map.putString("path", polarOfflineRecordingEntry.path)
216
217
  map.putDouble("size", polarOfflineRecordingEntry.size.toDouble())
217
218
  array.pushMap(map)
@@ -374,10 +375,14 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
374
375
  Log.d(TAG, "Recording ${polarOfflineRecordingEntry.path} downloaded. Size: ${polarOfflineRecordingEntry.size}")
375
376
  when (it) {
376
377
  is PolarOfflineRecordingData.HrOfflineRecording -> {
377
- Log.d(TAG, "HR Offline Recording started at ${it.startTime.time}")
378
+ Log.d(TAG, "HR Offline Recording started at ${it.startTime
379
+ .toInstant(ZoneOffset.UTC)
380
+ .toEpochMilli()}")
378
381
  var index = 0;
379
382
  val intervalInMs = 1000; // 1Hz
380
- val firstSampleDateUTC = it.startTime.timeInMillis + intervalInMs
383
+ val firstSampleDateUTC = it.startTime
384
+ .toInstant(ZoneOffset.UTC)
385
+ .toEpochMilli() + intervalInMs
381
386
  for (sample in it.data.samples) {
382
387
  val unixTimestamp = firstSampleDateUTC + intervalInMs * index++;
383
388
  val timestamp = Instant.ofEpochMilli(unixTimestamp)
@@ -394,7 +399,8 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
394
399
  }
395
400
  }
396
401
  is PolarOfflineRecordingData.AccOfflineRecording -> {
397
- Log.d(TAG, "ACC Offline Recording started at ${it.startTime.time}")
402
+ Log.d(TAG, "ACC Offline Recording started at ${it.startTime.toInstant(ZoneOffset.UTC)
403
+ .toEpochMilli()}")
398
404
  var index = 0;
399
405
  for (sample in it.data.samples) {
400
406
  Log.d(TAG, "ACC data: time: ${sample.timeStamp} X: ${sample.x} Y: ${sample.y} Z: ${sample.z} entry ${++index} of ${it.data.samples.size}")
@@ -410,7 +416,8 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
410
416
  }
411
417
  }
412
418
  is PolarOfflineRecordingData.GyroOfflineRecording -> {
413
- Log.d(TAG, "GYRO Offline Recording started at ${it.startTime.time}")
419
+ Log.d(TAG, "GYRO Offline Recording started at ${it.startTime.toInstant(ZoneOffset.UTC)
420
+ .toEpochMilli()}")
414
421
  var index = 0;
415
422
  for (sample in it.data.samples) {
416
423
  Log.d(TAG, "GYRO data: ${sample.timeStamp} X: ${sample.x} Y: ${sample.y} Z: ${sample.z} entry ${++index} of ${it.data.samples.size}")
@@ -426,7 +433,8 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
426
433
  }
427
434
  }
428
435
  is PolarOfflineRecordingData.PpgOfflineRecording -> {
429
- Log.d(TAG, "PPG Offline Recording started at ${it.startTime.time}")
436
+ Log.d(TAG, "PPG Offline Recording started at ${it.startTime.toInstant(ZoneOffset.UTC)
437
+ .toEpochMilli()}")
430
438
  var index = 0;
431
439
  for (sample in it.data.samples) {
432
440
  Log.d(TAG, "PPG data: ${sample.timeStamp} ppg0 ${sample.channelSamples[0]} ppg1 ${sample.channelSamples[1]} ppg2 ${sample.channelSamples[2]} ambient ${sample.channelSamples[3]} entry ${++index} of ${it.data.samples.size}")
@@ -506,15 +514,14 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
506
514
 
507
515
  // Sets the date time on the Polar device
508
516
  override fun setDeviceTime(deviceId: String) {
509
- val calendar = Calendar.getInstance()
510
- calendar.time = Date()
511
- Log.e(TAG, "Set device: $deviceId time to ${calendar.time}")
517
+ val now = LocalDateTime.now(ZoneOffset.UTC)
518
+ Log.e(TAG, "Set device: $deviceId time to ${now}")
512
519
  try {
513
- api.setLocalTime(deviceId, calendar)
520
+ api.setLocalTime(deviceId, now)
514
521
  .observeOn(AndroidSchedulers.mainThread())
515
522
  .subscribe(
516
523
  {
517
- val timeSetString = "time ${calendar.time} set to device"
524
+ val timeSetString = "time ${now} set to device"
518
525
  Log.d(TAG, timeSetString)
519
526
  },
520
527
  { error: Throwable -> Log.e(TAG, "set time failed: $error") }
@@ -530,13 +537,14 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
530
537
  .observeOn(AndroidSchedulers.mainThread())
531
538
  .subscribe(
532
539
  { calendar ->
533
- val timeGetString = "${calendar.time} read from the device"
540
+ val timeGetString = "${calendar} read from the device"
534
541
 
535
542
  val map: WritableMap = Arguments.createMap()
536
- map.putString("time", "${calendar.time}")
543
+ map.putString("time", "${calendar.toInstant(ZoneOffset.UTC)}")
537
544
  // Long not supported, use double as workaround
538
545
  // See: https://github.com/facebook/react-native/issues/9685
539
- map.putDouble("timeMs", calendar.timeInMillis.toDouble())
546
+ map.putDouble("timeMs", calendar.toInstant(ZoneOffset.UTC)
547
+ .toEpochMilli().toDouble())
540
548
  promise.resolve(map)
541
549
  },
542
550
  { error: Throwable ->
@@ -568,9 +576,6 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
568
576
  }
569
577
 
570
578
  override fun doFactoryReset(deviceId: String) {
571
- val calendar = Calendar.getInstance()
572
- calendar.time = Date()
573
- Log.e(TAG, "Set device: $deviceId time to ${calendar.time}")
574
579
  try {
575
580
  api.doFactoryReset(deviceId, preservePairingInformation = true)
576
581
  .observeOn(AndroidSchedulers.mainThread())
@@ -625,14 +630,9 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
625
630
  val timestampMs: Long
626
631
  )
627
632
 
628
- @ReactMethod
629
- override fun fetchHrData(deviceId: String, @Nullable ms: Double?) {
633
+ override fun fetchHrData(deviceId: String, ms: Double?) {
630
634
  Log.e(TAG, "Fetch Heart Data called on: $deviceId ")
631
- val bufferMs: Long = if (ms != null && ms >= 0) {
632
- ms.toLong()
633
- } else {
634
- SENSOR_BUFFER_MS
635
- }
635
+ val bufferMs = ms?.toLong()?.takeIf { it >= 0 } ?: SENSOR_BUFFER_MS
636
636
  val isDisposed = hrDisposable?.isDisposed ?: true
637
637
  try{
638
638
  if (isDisposed) {
@@ -737,14 +737,9 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
737
737
  }
738
738
  }
739
739
 
740
- @ReactMethod
741
- override fun fetchAccData(deviceId: String, @Nullable ms: Double?) {
740
+ override fun fetchAccData(deviceId: String, ms: Double?) {
742
741
  Log.e(TAG, "Fetch Accelerometer Data called on: $deviceId ")
743
- val bufferMs: Long = if (ms != null && ms >= 0) {
744
- ms.toLong()
745
- } else {
746
- SENSOR_BUFFER_MS
747
- }
742
+ val bufferMs = ms?.toLong()?.takeIf { it >= 0 } ?: SENSOR_BUFFER_MS
748
743
  val isDisposed = accDisposable?.isDisposed ?: true
749
744
  try{
750
745
  if (isDisposed) {
@@ -799,14 +794,9 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
799
794
  }
800
795
  }
801
796
 
802
- @ReactMethod
803
- override fun fetchGyrData(deviceId: String, @Nullable ms: Double?) {
797
+ override fun fetchGyrData(deviceId: String, ms: Double?) {
804
798
  Log.e(TAG, "Fetch Gyroscope Data called on: $deviceId ")
805
- val bufferMs: Long = if (ms != null && ms >= 0) {
806
- ms.toLong()
807
- } else {
808
- SENSOR_BUFFER_MS
809
- }
799
+ val bufferMs = ms?.toLong()?.takeIf { it >= 0 } ?: SENSOR_BUFFER_MS
810
800
  val isDisposed = gyrDisposable?.isDisposed ?: true
811
801
  try {
812
802
  if (isDisposed) {
@@ -863,14 +853,9 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
863
853
  }
864
854
  }
865
855
 
866
- @ReactMethod
867
- override fun fetchPpgData(deviceId: String, @Nullable ms: Double?) {
856
+ override fun fetchPpgData(deviceId: String, ms: Double?) {
868
857
  Log.e(TAG, "Fetch Photoplethysmograph Data called on: $deviceId ")
869
- val bufferMs: Long = if (ms != null && ms >= 0) {
870
- ms.toLong()
871
- } else {
872
- SENSOR_BUFFER_MS
873
- }
858
+ val bufferMs = ms?.toLong()?.takeIf { it >= 0 } ?: SENSOR_BUFFER_MS
874
859
  val isDisposed = ppgDisposable?.isDisposed ?: true
875
860
  try {
876
861
  if (isDisposed) {
@@ -132,7 +132,7 @@ class PolarBridge: RCTEventEmitter, ObservableObject
132
132
  let allSettings = api.requestFullStreamSettings(identifier, feature: feature)
133
133
  .catch { error in
134
134
  NSLog("Full stream settings NOT available for \(feature). Reason: \(error.localizedDescription)")
135
- return Single.just(PolarSensorSetting([:]))
135
+ return Single.just(try PolarSensorSetting([:]))
136
136
  }
137
137
 
138
138
  return Single.zip(availableSettings, allSettings)
@@ -14,16 +14,22 @@ export function scanDevices() {
14
14
  return PolarBridge.scanDevices();
15
15
  }
16
16
  export function fetchHrData(deviceId, bufferMs = null) {
17
- return PolarBridge.fetchHrData(deviceId, bufferMs);
17
+ // If bufferMs is null or undefined, set it to -1
18
+ // Workaround to handle null/optional bufferMs
19
+ const safeBufferMs = bufferMs ?? -1;
20
+ return PolarBridge.fetchHrData(deviceId, safeBufferMs);
18
21
  }
19
22
  export function fetchAccData(deviceId, bufferMs = null) {
20
- return PolarBridge.fetchAccData(deviceId, bufferMs);
23
+ const safeBufferMs = bufferMs ?? -1;
24
+ return PolarBridge.fetchAccData(deviceId, safeBufferMs);
21
25
  }
22
26
  export function fetchGyrData(deviceId, bufferMs = null) {
23
- return PolarBridge.fetchGyrData(deviceId, bufferMs);
27
+ const safeBufferMs = bufferMs ?? -1;
28
+ return PolarBridge.fetchGyrData(deviceId, safeBufferMs);
24
29
  }
25
30
  export function fetchPpgData(deviceId, bufferMs = null) {
26
- return PolarBridge.fetchPpgData(deviceId, bufferMs);
31
+ const safeBufferMs = bufferMs ?? -1;
32
+ return PolarBridge.fetchPpgData(deviceId, safeBufferMs);
27
33
  }
28
34
  export function enableSdkMode(deviceId) {
29
35
  return PolarBridge.enableSdkMode(deviceId);
@@ -1 +1 @@
1
- {"version":3,"names":["PolarBridge","multiply","a","b","connectToDevice","deviceId","disconnectFromDevice","scanDevices","fetchHrData","bufferMs","fetchAccData","fetchGyrData","fetchPpgData","enableSdkMode","disableSdkMode","setDeviceTime","getDeviceTime","getDiskSpace","doFactoryReset","startOfflineRecording","features","stopOfflineRecording","setPolarRecordingTrigger","recordingMode","fetchOfflineRecordings","downloadOfflineRecordings","deleteAllOfflineRecordings","disposeHrStream","disposeAccStream","disposeGyrStream","disposePpgStream","emittedEventId","Object","freeze","SCAN_DEVICE_FOUND","SCAN_DEVICE_ERROR","SCAN_DEVICE_COMPLETE","POLAR_DEVICE_TIME","POLAR_HR_DATA","POLAR_HR_ERROR","POLAR_HR_COMPLETE","POLAR_ACC_DATA","POLAR_ACC_ERROR","POLAR_ACC_COMPLETE","POLAR_GYR_DATA","POLAR_GYR_ERROR","POLAR_GYR_COMPLETE","POLAR_PPG_DATA","POLAR_PPG_ERROR","POLAR_PPG_COMPLETE","POLAR_DISK_SPACE","POLAR_OFFLINE_RECORDING","OfflineRecordingFeature","OFFLINE_HR","OFFLINE_ACC","OFFLINE_GYR","OFFLINE_PPG","OFFLINE_MAG","OFFLINE_PPI","OfflineRecordingTriggerMode","TRIGGER_DISABLED","TRIGGER_SYSTEM_START","TRIGGER_EXERCISE_START"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PolarBridge","multiply","a","b","connectToDevice","deviceId","disconnectFromDevice","scanDevices","fetchHrData","bufferMs","safeBufferMs","fetchAccData","fetchGyrData","fetchPpgData","enableSdkMode","disableSdkMode","setDeviceTime","getDeviceTime","getDiskSpace","doFactoryReset","startOfflineRecording","features","stopOfflineRecording","setPolarRecordingTrigger","recordingMode","fetchOfflineRecordings","downloadOfflineRecordings","deleteAllOfflineRecordings","disposeHrStream","disposeAccStream","disposeGyrStream","disposePpgStream","emittedEventId","Object","freeze","SCAN_DEVICE_FOUND","SCAN_DEVICE_ERROR","SCAN_DEVICE_COMPLETE","POLAR_DEVICE_TIME","POLAR_HR_DATA","POLAR_HR_ERROR","POLAR_HR_COMPLETE","POLAR_ACC_DATA","POLAR_ACC_ERROR","POLAR_ACC_COMPLETE","POLAR_GYR_DATA","POLAR_GYR_ERROR","POLAR_GYR_COMPLETE","POLAR_PPG_DATA","POLAR_PPG_ERROR","POLAR_PPG_COMPLETE","POLAR_DISK_SPACE","POLAR_OFFLINE_RECORDING","OfflineRecordingFeature","OFFLINE_HR","OFFLINE_ACC","OFFLINE_GYR","OFFLINE_PPG","OFFLINE_MAG","OFFLINE_PPI","OfflineRecordingTriggerMode","TRIGGER_DISABLED","TRIGGER_SYSTEM_START","TRIGGER_EXERCISE_START"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,uDAE/C;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,QAEpD;AAED,wBAAgB,WAAW,SAE1B;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QAE3E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QAE5E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QAE5E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QAE5E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,QAE7C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,QAE9C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,QAE7C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,kDAE7C;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,iDAE5C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,QAE9C;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAEzE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAExE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAEnG;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,0DAEtD;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,QAEzD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,QAE1D;AAED,wBAAgB,eAAe,SAE9B;AAED,wBAAgB,gBAAgB,SAE/B;AAED,wBAAgB,gBAAgB,SAE/B;AAED,wBAAgB,gBAAgB,SAE/B;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;EAmBzB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;EAOlC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;EAItC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,uDAE/C;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,QAEpD;AAED,wBAAgB,WAAW,SAE1B;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QAK3E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QAG5E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QAG5E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QAG5E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,QAE7C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,QAE9C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,QAE7C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,kDAE7C;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,iDAE5C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,QAE9C;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAEzE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAExE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAEnG;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,0DAEtD;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,QAEzD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,QAE1D;AAED,wBAAgB,eAAe,SAE9B;AAED,wBAAgB,gBAAgB,SAE/B;AAED,wBAAgB,gBAAgB,SAE/B;AAED,wBAAgB,gBAAgB,SAE/B;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;EAmBzB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;EAOlC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;EAItC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-polar-bridge",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Polar SDK for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
package/src/index.tsx CHANGED
@@ -17,19 +17,25 @@ export function scanDevices() {
17
17
  }
18
18
 
19
19
  export function fetchHrData(deviceId: string, bufferMs: number | null = null) {
20
- return PolarBridge.fetchHrData(deviceId, bufferMs);
20
+ // If bufferMs is null or undefined, set it to -1
21
+ // Workaround to handle null/optional bufferMs
22
+ const safeBufferMs = bufferMs ?? -1;
23
+ return PolarBridge.fetchHrData(deviceId, safeBufferMs);
21
24
  }
22
25
 
23
26
  export function fetchAccData(deviceId: string, bufferMs: number | null = null) {
24
- return PolarBridge.fetchAccData(deviceId, bufferMs);
27
+ const safeBufferMs = bufferMs ?? -1;
28
+ return PolarBridge.fetchAccData(deviceId, safeBufferMs);
25
29
  }
26
30
 
27
31
  export function fetchGyrData(deviceId: string, bufferMs: number | null = null) {
28
- return PolarBridge.fetchGyrData(deviceId, bufferMs);
32
+ const safeBufferMs = bufferMs ?? -1;
33
+ return PolarBridge.fetchGyrData(deviceId, safeBufferMs);
29
34
  }
30
35
 
31
36
  export function fetchPpgData(deviceId: string, bufferMs: number | null = null) {
32
- return PolarBridge.fetchPpgData(deviceId, bufferMs);
37
+ const safeBufferMs = bufferMs ?? -1;
38
+ return PolarBridge.fetchPpgData(deviceId, safeBufferMs);
33
39
  }
34
40
 
35
41
  export function enableSdkMode(deviceId: string) {