NordicSemiconductor / Android-nRF-Toolbox

The nRF Toolbox is a container app that stores your Nordic Semiconductor apps for Bluetooth Low Energy in one location.
https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Toolbox
BSD 3-Clause "New" or "Revised" License
1.09k stars 464 forks source link

Device connection is dead if an error occurs #37

Closed philips77 closed 6 years ago

philips77 commented 6 years ago

In the BleManager the mOperationInProgress is set to false only on Success: https://github.com/NordicSemiconductor/Android-nRF-Toolbox/blob/v2.5.2/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleManager.java#L1299 In case there is an error in on[Characteristic/Descriptor][Read/Write](...) callback this flag is never cleared and no other operation from the queue will be performed. It's better to clear it no matter the operation status. If the error was critical the device would disconnect/reset, but some errors can be ignored.