mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-23 15:29:13 +00:00
Improved updater
This commit is contained in:
parent
67b41b3382
commit
f63ac9eb66
3 changed files with 21 additions and 25 deletions
|
@ -13,9 +13,9 @@ class UpdateAvailable {
|
|||
class UpdateAvailableData {
|
||||
String currentVersion;
|
||||
String? newVersion;
|
||||
final String announcement;
|
||||
final String announcementUrl;
|
||||
final bool canAutoupdate;
|
||||
final String? announcement;
|
||||
final String? announcementUrl;
|
||||
final bool? canAutoupdate;
|
||||
final bool disabled;
|
||||
String? changelog;
|
||||
bool? updateAvailable;
|
||||
|
|
|
@ -533,28 +533,24 @@ class ServersProvider with ChangeNotifier {
|
|||
setUpdateAvailableLoadStatus(LoadStatus.loading, true);
|
||||
final result = await checkServerUpdates(server: server);
|
||||
if (result['result'] == 'success') {
|
||||
try {
|
||||
UpdateAvailableData data = UpdateAvailableData.fromJson(result['data']);
|
||||
final gitHubResult = await getUpdateChangelog(server: server, releaseTag: data.newVersion ?? data.currentVersion);
|
||||
if (gitHubResult['result'] == 'success') {
|
||||
data.changelog = gitHubResult['body'];
|
||||
}
|
||||
data.updateAvailable = data.newVersion != null
|
||||
? data.newVersion!.contains('b')
|
||||
? compareBetaVersions(
|
||||
currentVersion: data.currentVersion.replaceAll('v', ''),
|
||||
newVersion: data.newVersion!.replaceAll('v', ''),
|
||||
)
|
||||
: compareVersions(
|
||||
currentVersion: data.currentVersion.replaceAll('v', ''),
|
||||
newVersion: data.newVersion!.replaceAll('v', ''),
|
||||
)
|
||||
: false;
|
||||
setUpdateAvailableData(data);
|
||||
setUpdateAvailableLoadStatus(LoadStatus.loaded, true);
|
||||
} catch (_) {
|
||||
// AUTO UPDATE NOT AVAILABLE //
|
||||
UpdateAvailableData data = UpdateAvailableData.fromJson(result['data']);
|
||||
final gitHubResult = await getUpdateChangelog(server: server, releaseTag: data.newVersion ?? data.currentVersion);
|
||||
if (gitHubResult['result'] == 'success') {
|
||||
data.changelog = gitHubResult['body'];
|
||||
}
|
||||
data.updateAvailable = data.newVersion != null
|
||||
? data.newVersion!.contains('b')
|
||||
? compareBetaVersions(
|
||||
currentVersion: data.currentVersion.replaceAll('v', ''),
|
||||
newVersion: data.newVersion!.replaceAll('v', ''),
|
||||
)
|
||||
: compareVersions(
|
||||
currentVersion: data.currentVersion.replaceAll('v', ''),
|
||||
newVersion: data.newVersion!.replaceAll('v', ''),
|
||||
)
|
||||
: false;
|
||||
setUpdateAvailableData(data);
|
||||
setUpdateAvailableLoadStatus(LoadStatus.loaded, true);
|
||||
}
|
||||
else {
|
||||
setUpdateAvailableLoadStatus(LoadStatus.error, true);
|
||||
|
|
|
@ -127,7 +127,7 @@ class Settings extends StatelessWidget {
|
|||
)
|
||||
},
|
||||
),
|
||||
if (serversProvider.updateAvailable.data != null && serversProvider.updateAvailable.data!.canAutoupdate == true) CustomListTile(
|
||||
if (serversProvider.updateAvailable.data != null) CustomListTile(
|
||||
icon: Icons.system_update_rounded,
|
||||
title: AppLocalizations.of(context)!.updates,
|
||||
subtitle: AppLocalizations.of(context)!.updatesDescription,
|
||||
|
|
Loading…
Add table
Reference in a new issue