react-native-polar-bridge 0.2.9 → 0.2.10

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.
@@ -65,13 +65,13 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
65
65
 
66
66
  override fun connectToDevice(deviceId: String, promise: Promise) {
67
67
  val map: WritableMap = Arguments.createMap()
68
- var deviceConnected = false
69
- var batteryReceived = false
68
+ var connectedId: String? = null
69
+ var battery: Int? = null
70
+ var isResolved = false // Guard to ensure we only resolve once
70
71
  api.setApiCallback(object : PolarBleApiCallback() {
71
72
  override fun deviceConnected(polarDeviceInfo: PolarDeviceInfo) {
72
73
  Log.d("Polar", "Connected: ${polarDeviceInfo.deviceId}")
73
- map.putString("connectedDeviceId", polarDeviceInfo.deviceId)
74
- deviceConnected = true
74
+ connectedId = polarDeviceInfo.deviceId
75
75
  runResolve()
76
76
  }
77
77
 
@@ -88,13 +88,14 @@ class PolarBridgeModule(reactContext: ReactApplicationContext) :
88
88
 
89
89
  override fun batteryLevelReceived(identifier: String, level: Int) {
90
90
  Log.d("Polar", "Battery for $identifier: $level%")
91
- map.putInt("batteryLevel", level)
92
- batteryReceived = true
91
+ battery = level
93
92
  runResolve()
94
93
  }
95
94
 
96
95
  private fun runResolve() {
97
- if (deviceConnected && batteryReceived) {
96
+ if (connectedId != null && battery != null && !isResolved) {
97
+ map.putString("connectedDeviceId", connectedId)
98
+ map.putInt("batteryLevel", battery)
98
99
  promise.resolve(map)
99
100
  }
100
101
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-polar-bridge",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "Polar SDK for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",