mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-15 00:34:08 +09:00
feat: moved all modules to the new way of reader mode with a small refactoring
This commit is contained in:
@@ -77,7 +77,7 @@ public struct BLEDevice: Codable {
|
||||
}
|
||||
|
||||
public class Bluetooth: Module {
|
||||
private var devicesReader: DevicesReader = DevicesReader()
|
||||
private var devicesReader: DevicesReader?
|
||||
private let popupView: Popup = Popup()
|
||||
private let settingsView: Settings = Settings()
|
||||
|
||||
@@ -88,18 +88,15 @@ public class Bluetooth: Module {
|
||||
)
|
||||
guard self.available else { return }
|
||||
|
||||
self.settingsView.callback = { [weak self] in
|
||||
self?.devicesReader.read()
|
||||
}
|
||||
|
||||
self.devicesReader.callbackHandler = { [weak self] value in
|
||||
self.devicesReader = DevicesReader { [weak self] value in
|
||||
self?.batteryCallback(value)
|
||||
}
|
||||
self.devicesReader.readyCallback = { [weak self] in
|
||||
self?.readyHandler()
|
||||
|
||||
self.settingsView.callback = { [weak self] in
|
||||
self?.devicesReader?.read()
|
||||
}
|
||||
|
||||
self.addReader(self.devicesReader)
|
||||
self.setReaders([self.devicesReader])
|
||||
}
|
||||
|
||||
private func batteryCallback(_ raw: [BLEDevice]?) {
|
||||
|
||||
@@ -40,8 +40,8 @@ internal class DevicesReader: Reader<[BLEDevice]>, CBCentralManagerDelegate, CBP
|
||||
static let batteryServiceUUID = CBUUID(string: "0x180F")
|
||||
static let batteryCharacteristicsUUID = CBUUID(string: "0x2A19")
|
||||
|
||||
init() {
|
||||
super.init(.bluetooth)
|
||||
init(callback: @escaping (T?) -> Void = {_ in }) {
|
||||
super.init(.bluetooth, callback: callback)
|
||||
self.manager = CBCentralManager(delegate: self, queue: nil)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user