bestItem method
Returns the latest item in the Appcast based on OS, OS version, and app version.
Implementation
AppcastItem? bestItem() {
if (items == null) {
return null;
}
AppcastItem? bestItem;
items!.forEach((AppcastItem item) {
if (item.hostSupportsItem(osVersion: osVersionString)) {
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: bestItem invalid version: $e');
}
}
}
});
return bestItem;
}