Fix issue with multiple notifications on many characteristics

This commit is contained in:
Sylwester Zielinski
2023-03-06 12:32:47 +01:00
parent 260eafb678
commit f54d4c2360
2 changed files with 2 additions and 4 deletions

View File

@@ -91,14 +91,13 @@ internal class CSCService : NotificationService() {
val batteryService = services.findService(BATTERY_SERVICE_UUID)!!
val batteryLevelCharacteristic = batteryService.findCharacteristic(BATTERY_LEVEL_CHARACTERISTIC_UUID)!!
batteryLevelCharacteristic.notification
batteryLevelCharacteristic.getNotifications()
.mapNotNull { BatteryLevelParser.parse(it) }
.onEach { repository.onBatteryLevelChanged(it) }
.launchIn(lifecycleScope)
TODO("Second notification not working")
val cscDataParser = CSCDataParser()
cscMeasurementCharacteristic.notification
cscMeasurementCharacteristic.getNotifications()
.mapNotNull { cscDataParser.parse(it, repository.wheelSize.value) }
.onEach { repository.onCSCDataChanged(it) }
.launchIn(lifecycleScope)

View File

@@ -59,7 +59,6 @@ import no.nordicsemi.android.csc.view.SpeedUnit
import no.nordicsemi.android.csc.view.WorkingState
import no.nordicsemi.android.kotlin.ble.core.ServerDevice
import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState
import no.nordicsemi.android.service.ConnectedResult
import no.nordicsemi.android.toolbox.scanner.ScannerDestinationId
import javax.inject.Inject