Skip to content

Commit 273f841

Browse files
committed
Update BluetoothLEManager.swift
1 parent e09c6cf commit 273f841

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

Sources/bluetooth-law-energy-swift/BluetoothLEManager.swift

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ public final class BluetoothLEManager: NSObject, ObservableObject, IBluetoothLEM
3939
private let cachedServices = CacheServices()
4040

4141
private typealias Delegate = BluetoothDelegate
42-
private let state = BluetoothLEManager.State()
4342
private let stream : StreamFactory
4443
private let delegateHandler: Delegate
4544
private var cancellables: Set<AnyCancellable> = []
@@ -220,27 +219,26 @@ public final class BluetoothLEManager: NSObject, ObservableObject, IBluetoothLEM
220219
getPeripheralPublisher
221220
.sink { [weak self] peripherals in
222221
guard let self = self else { return }
222+
let stream = self.stream
223223
Task {
224-
await self.handlePeripheralChange(peripherals)
224+
await stream.updatePeripherals(peripherals)
225225
}
226226
}
227227
.store(in: &cancellables)
228228

229229
Publishers.CombineLatest(getStatePublisher, stream.subscriberCountPublisher)
230230
.receiveOnMainAndEraseToAnyPublisher()
231231
.sink { [weak self] state, subscriberCount in
232-
guard let self = self else { return }
233-
let s = self.checkForScan(state, subscriberCount)
234-
self.bleState.send(s)
232+
guard let self = self else { return }
233+
let result = self.checkForScan(state, subscriberCount)
234+
let bleState = self.bleState
235+
Task { @MainActor in
236+
bleState.send(result)
237+
}
235238
}
236239
.store(in: &cancellables)
237240
}
238241

239-
/// Handles changes in discovered peripherals.
240-
private func handlePeripheralChange(_ peripherals: [CBPeripheral]) async {
241-
await stream.updatePeripherals(peripherals)
242-
}
243-
244242
/// Checks if Bluetooth is ready (powered on and authorized).
245243
private var checkIfBluetoothReady: Bool {
246244
isAuthorized = State.isBluetoothAuthorized

0 commit comments

Comments
 (0)