react-native-polar-bridge 0.2.9 → 0.2.11

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