Commit 564a6669 by Demid Merzlyakov

Filter alerts before fetching extended info.

parent 7ff43c41
......@@ -157,12 +157,12 @@ public class NWSAlertsManager {
private func fetchAllExtendedInfo(for alerts: [NWSAlert]) {
internalQueue.addOperation { [weak self] in
guard let self = self else { return }
var newAlertsToFetch = [NWSAlert]()
let localExtendedInfoBeingFetched = self.extendedInfoBeingFetched
let alertsToFetch = alerts.filter { (alert: NWSAlert) -> Bool in
alert.extendedInfo == nil && !localExtendedInfoBeingFetched.contains(alert)
}
let parser = NWSAlertInfoParser()
for alert in alerts.filter({ $0.extendedInfo == nil }) {
if !self.extendedInfoBeingFetched.contains(alert) {
for alert in alertsToFetch {
self.extendedInfoBeingFetched.insert(alert)
parser.fetchExtendedInfo(for: alert) { [weak self] (weatherMessage, extendedInfo) in
DispatchQueue.main.async { [weak self] in
......@@ -181,7 +181,6 @@ public class NWSAlertsManager {
}
}
}
}
private func merge(alerts newAlerts: [NWSAlert]) {
//TODO: optimize
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment