Fixed updater

This commit is contained in:
Juan Gilsanz Polo 2023-05-25 21:14:26 +02:00
parent 33840c2c90
commit 71853d678a
8 changed files with 131 additions and 87 deletions

View file

@ -2,20 +2,19 @@
import 'dart:io';
import 'package:adguard_home_manager/functions/snackbar.dart';
import 'package:adguard_home_manager/widgets/section_label.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:store_checker/store_checker.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/widgets/custom_list_tile.dart';
import 'package:adguard_home_manager/widgets/section_label.dart';
import 'package:adguard_home_manager/functions/check_app_updates.dart';
import 'package:adguard_home_manager/functions/snackbar.dart';
import 'package:adguard_home_manager/functions/open_url.dart';
import 'package:adguard_home_manager/functions/app_update_download_link.dart';
import 'package:adguard_home_manager/services/http_requests.dart';
import 'package:adguard_home_manager/providers/app_config_provider.dart';
import 'package:adguard_home_manager/functions/compare_versions.dart';
class GeneralSettings extends StatefulWidget {
const GeneralSettings({Key? key}) : super(key: key);
@ -56,16 +55,15 @@ class _GeneralSettingsState extends State<GeneralSettings> {
Future checkUpdatesAvailable() async {
setState(() => appUpdatesStatus = AppUpdatesStatus.checking);
final result = await checkAppUpdatesGitHub();
if (result['result'] == 'success') {
final update = gitHubUpdateExists(appConfigProvider.getAppInfo!.version, result['body'].tagName);
if (update == true) {
appConfigProvider.setAppUpdatesAvailable(result['body']);
setState(() => appUpdatesStatus = AppUpdatesStatus.available);
}
else {
setState(() => appUpdatesStatus = AppUpdatesStatus.recheck);
}
final res = await checkAppUpdates(
appVersion: appConfigProvider.getAppInfo!.version,
setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable,
installationSource: appConfigProvider.installationSource
);
if (res != null) {
setState(() => appUpdatesStatus = AppUpdatesStatus.available);
}
else {
setState(() => appUpdatesStatus = AppUpdatesStatus.recheck);
@ -210,8 +208,7 @@ class _GeneralSettingsState extends State<GeneralSettings> {
appConfigProvider.installationSource == Source.IS_INSTALLED_FROM_LOCAL_SOURCE ||
appConfigProvider.installationSource == Source.IS_INSTALLED_FROM_PLAY_PACKAGE_INSTALLER ||
appConfigProvider.installationSource == Source.UNKNOWN
)) &&
!appConfigProvider.getAppInfo!.version.contains('beta')
))
) ...[
SectionLabel(label: AppLocalizations.of(context)!.application),
CustomListTile(