Added option to recheck app updates

This commit is contained in:
Juan Gilsanz Polo 2023-05-17 21:50:13 +02:00
parent e0ecac5415
commit 71a7908da5
9 changed files with 171 additions and 47 deletions

View file

@ -0,0 +1,21 @@
import 'dart:io';
import 'package:adguard_home_manager/models/github_release.dart';
String? getAppUpdateDownloadLink(GitHubRelease gitHubRelease) {
if (Platform.isAndroid) {
return gitHubRelease.assets.firstWhere((item) => item.browserDownloadUrl.contains('apk')).browserDownloadUrl;
}
else if (Platform.isMacOS) {
return gitHubRelease.assets.firstWhere((item) => item.browserDownloadUrl.contains('macOS')).browserDownloadUrl; // macOS package is a zip
}
else if (Platform.isWindows) {
return gitHubRelease.assets.firstWhere((item) => item.browserDownloadUrl.contains('exe')).browserDownloadUrl;
}
else if (Platform.isLinux) {
return gitHubRelease.assets.firstWhere((item) => item.browserDownloadUrl.contains('deb')).browserDownloadUrl;
}
else {
return null;
}
}

View file

@ -143,4 +143,22 @@ bool serverVersionIsAhead({
]);
return false;
}
}
bool gitHubUpdateExists(String appVersion, String gitHubVersion) {
final List<int> appVersionSplit = List<int>.from(appVersion.split('.').map((e) => int.parse(e)));
final List<int> gitHubVersionSplit = List<int>.from(gitHubVersion.split('.').map((e) => int.parse(e)));
if (gitHubVersionSplit[0] > appVersionSplit[0]) {
return true;
}
else if (gitHubVersionSplit[0] == appVersionSplit[0] && gitHubVersionSplit[1] > appVersionSplit[1]) {
return true;
}
else if (gitHubVersionSplit[0] == appVersionSplit[0] && gitHubVersionSplit[1] == appVersionSplit[1] && gitHubVersionSplit[2] > appVersionSplit[2]) {
return true;
}
else {
return false;
}
}