isUpdateAvailable static method
Returns whether the candidate version/build is strictly newer.
Implementation
static bool isUpdateAvailable({
required String candidateVersion,
required int candidateBuildNumber,
required String currentVersion,
required String currentBuildNumber,
}) {
if (candidateBuildNumber < 0) {
throw FormatException(
'Invalid candidate build number: $candidateBuildNumber',
);
}
final parsedCurrentBuild = int.tryParse(currentBuildNumber);
if (parsedCurrentBuild == null || parsedCurrentBuild < 0) {
throw FormatException(
'Invalid current build number: $currentBuildNumber',
);
}
final versionComparison = compare(candidateVersion, currentVersion);
if (versionComparison != 0) return versionComparison > 0;
return candidateBuildNumber > parsedCurrentBuild;
}