From af74bdd16f011c5da1d4bbb2505427c3d443f082 Mon Sep 17 00:00:00 2001 From: Steve Grosbois Date: Fri, 13 May 2022 15:04:44 +0200 Subject: [PATCH] fix: Fixed IllegalStateException: Already resumed on cancelConnection --- .../main/java/com/welie/blessed/BluetoothCentralManager.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/blessed/src/main/java/com/welie/blessed/BluetoothCentralManager.kt b/blessed/src/main/java/com/welie/blessed/BluetoothCentralManager.kt index 2c3f124..ed11a32 100644 --- a/blessed/src/main/java/com/welie/blessed/BluetoothCentralManager.kt +++ b/blessed/src/main/java/com/welie/blessed/BluetoothCentralManager.kt @@ -534,8 +534,12 @@ class BluetoothCentralManager(private val context: Context) { suspend fun cancelConnection(peripheral: BluetoothPeripheral): Unit = suspendCoroutine { cancelConnection(peripheral, object : BluetoothCentralManagerCallback() { + var resumed = false override fun onDisconnectedPeripheral(peripheral: BluetoothPeripheral, status: HciStatus) { - it.resume(Unit) + if (!resumed) { + it.resume(Unit) + resumed = true + } } }) }