fix: changed reference from unowned to weak in the modules (prevents crash in some cases)

This commit is contained in:
Serhiy Mytrovtsiy
2023-08-13 13:15:27 +02:00
parent d523a90103
commit 9115329767
9 changed files with 133 additions and 149 deletions

View File

@@ -88,24 +88,22 @@ public class Bluetooth: Module {
)
guard self.available else { return }
self.settingsView.callback = { [unowned self] in
self.devicesReader.read()
self.settingsView.callback = { [weak self] in
self?.devicesReader.read()
}
self.devicesReader.callbackHandler = { [unowned self] value in
self.batteryCallback(value)
self.devicesReader.callbackHandler = { [weak self] value in
self?.batteryCallback(value)
}
self.devicesReader.readyCallback = { [unowned self] in
self.readyHandler()
self.devicesReader.readyCallback = { [weak self] in
self?.readyHandler()
}
self.addReader(self.devicesReader)
}
private func batteryCallback(_ raw: [BLEDevice]?) {
guard let value = raw, self.enabled else {
return
}
guard let value = raw, self.enabled else { return }
let active = value.filter{ $0.isPaired || ($0.isConnected && !$0.batteryLevel.isEmpty) }
DispatchQueue.main.async(execute: {