bestCriticalItem method
Returns the latest critical item in the Appcast.
Implementation
AppcastItem? bestCriticalItem() {
if (items == null) {
return null;
}
AppcastItem? bestItem;
items!.forEach((AppcastItem item) {
if (item.hostSupportsItem(osVersion: osVersionString) &&
item.isCriticalUpdate) {
if (bestItem == null) {
bestItem = item;
} else {
try {
final itemVersion = Version.parse(item.versionString!);
final bestItemVersion = Version.parse(bestItem!.versionString!);
if (itemVersion > bestItemVersion) {
bestItem = item;
}
} on Exception catch (e) {
print('upgrader: criticalUpdateItem invalid version: $e');
}
}
}
});
return bestItem;
}