feat: now few widgets can be enabled for one module

This commit is contained in:
Serhiy Mytrovtsiy
2021-02-13 16:39:11 +01:00
parent 1761d9cc59
commit 7b2b786b86
35 changed files with 718 additions and 602 deletions

View File

@@ -95,9 +95,6 @@ public class Network: Module {
}
}
self.usageReader?.readyCallback = { [unowned self] in
self.readyHandler()
}
self.usageReader?.callbackHandler = { [unowned self] value in
self.usageCallback(value)
}
@@ -131,16 +128,19 @@ public class Network: Module {
return list.count > 0
}
private func usageCallback(_ value: Network_Usage?) {
guard let value = value else {
private func usageCallback(_ raw: Network_Usage?) {
guard let value = raw else {
return
}
self.popupView.usageCallback(value)
if let widget = self.widget as? SpeedWidget {
widget.setValue(upload: value.bandwidth.upload, download: value.bandwidth.download)
} else if let widget = self.widget as? NetworkChart {
widget.setValue(upload: Double(value.bandwidth.upload), download: Double(value.bandwidth.download))
self.widgets.filter{ $0.isActive }.forEach { (w: Widget) in
switch w.item {
case let widget as SpeedWidget: widget.setValue(upload: value.bandwidth.upload, download: value.bandwidth.download)
case let widget as NetworkChart: widget.setValue(upload: Double(value.bandwidth.upload), download: Double(value.bandwidth.download))
default: break
}
}
}
}