From ff32ae06c857b13ea85d63b217de08527698d60c Mon Sep 17 00:00:00 2001 From: Anderson Bragiatto Date: Thu, 14 Jul 2022 17:39:58 -0300 Subject: [PATCH] cancel connect task on disconnect --- .../ios/Classes/ReactiveBle/Central.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift b/packages/reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift index 95f2f9dc..25772c5d 100644 --- a/packages/reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift +++ b/packages/reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift @@ -159,13 +159,21 @@ final class Central { guard let peripheral = try? resolve(known: peripheralID) else { return } - centralManager.cancelPeripheralConnection(peripheral) + connectRegistry.updateTask( + key: peripheralID, + action: { $0.cancel(centralManager: centralManager, peripheral: peripheral, error: nil) } + ) } func disconnectAll() { activePeripherals .values - .forEach(centralManager.cancelPeripheralConnection) + .forEach { (peripheral) in + connectRegistry.updateTask( + key: peripheral.identifier, + action: { $0.cancel(centralManager: centralManager, peripheral: peripheral, error: nil) } + ) + } } func discoverServicesWithCharacteristics(