mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-23 23:39:12 +00:00
Removed app updates notifier due to a bug on the library
This commit is contained in:
parent
b65dc35cb7
commit
d903da0051
4 changed files with 130 additions and 147 deletions
|
@ -1,57 +1,57 @@
|
||||||
import 'dart:io';
|
// import 'dart:io';
|
||||||
|
|
||||||
import 'package:install_referrer/install_referrer.dart';
|
// import 'package:install_referrer/install_referrer.dart';
|
||||||
|
|
||||||
import 'package:adguard_home_manager/functions/compare_versions.dart';
|
// import 'package:adguard_home_manager/functions/compare_versions.dart';
|
||||||
import 'package:adguard_home_manager/services/external_requests.dart';
|
// import 'package:adguard_home_manager/services/external_requests.dart';
|
||||||
import 'package:adguard_home_manager/models/github_release.dart';
|
// import 'package:adguard_home_manager/models/github_release.dart';
|
||||||
|
|
||||||
Future<GitHubRelease?> checkAppUpdates({
|
// Future<GitHubRelease?> checkAppUpdates({
|
||||||
required String currentBuildNumber,
|
// required String currentBuildNumber,
|
||||||
required void Function(GitHubRelease?) setUpdateAvailable,
|
// required void Function(GitHubRelease?) setUpdateAvailable,
|
||||||
required InstallationAppReferrer? installationSource,
|
// required InstallationAppReferrer? installationSource,
|
||||||
required bool isBeta
|
// required bool isBeta
|
||||||
}) async {
|
// }) async {
|
||||||
var result = isBeta
|
// var result = isBeta
|
||||||
? await ExternalRequests.getReleasesGitHub()
|
// ? await ExternalRequests.getReleasesGitHub()
|
||||||
: await ExternalRequests.getReleaseData();
|
// : await ExternalRequests.getReleaseData();
|
||||||
|
|
||||||
if (result.successful == true) {
|
// if (result.successful == true) {
|
||||||
late GitHubRelease gitHubRelease;
|
// late GitHubRelease gitHubRelease;
|
||||||
if (isBeta) {
|
// if (isBeta) {
|
||||||
gitHubRelease = (result.content as List<GitHubRelease>).firstWhere((r) => r.prerelease == true);
|
// gitHubRelease = (result.content as List<GitHubRelease>).firstWhere((r) => r.prerelease == true);
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
gitHubRelease = result.content as GitHubRelease;
|
// gitHubRelease = result.content as GitHubRelease;
|
||||||
}
|
// }
|
||||||
|
|
||||||
final update = gitHubUpdateExists(
|
// final update = gitHubUpdateExists(
|
||||||
currentBuildNumber: currentBuildNumber,
|
// currentBuildNumber: currentBuildNumber,
|
||||||
gitHubRelease: gitHubRelease,
|
// gitHubRelease: gitHubRelease,
|
||||||
isBeta: isBeta
|
// isBeta: isBeta
|
||||||
);
|
// );
|
||||||
|
|
||||||
if (update == true) {
|
// if (update == true) {
|
||||||
setUpdateAvailable(gitHubRelease);
|
// setUpdateAvailable(gitHubRelease);
|
||||||
|
|
||||||
if (Platform.isAndroid) {
|
// if (Platform.isAndroid) {
|
||||||
if (installationSource == InstallationAppReferrer.androidManually) {
|
// if (installationSource == InstallationAppReferrer.androidManually) {
|
||||||
return gitHubRelease;
|
// return gitHubRelease;
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
return null;
|
// return null;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
else if (Platform.isIOS) {
|
// else if (Platform.isIOS) {
|
||||||
return null;
|
// return null;
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
return gitHubRelease;
|
// return gitHubRelease;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
setUpdateAvailable(null);
|
// setUpdateAvailable(null);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return null;
|
// return null;
|
||||||
}
|
// }
|
|
@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
||||||
import 'package:install_referrer/install_referrer.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_displaymode/flutter_displaymode.dart';
|
import 'package:flutter_displaymode/flutter_displaymode.dart';
|
||||||
import 'package:dynamic_color/dynamic_color.dart';
|
import 'package:dynamic_color/dynamic_color.dart';
|
||||||
|
@ -79,11 +78,6 @@ void main() async {
|
||||||
HttpOverrides.global = MyHttpOverrides();
|
HttpOverrides.global = MyHttpOverrides();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Platform.isAndroid || Platform.isIOS) {
|
|
||||||
InstallationAppReferrer installationSource = await InstallReferrer.referrer;
|
|
||||||
appConfigProvider.setInstallationSource(installationSource);
|
|
||||||
}
|
|
||||||
|
|
||||||
final dbData = await loadDb();
|
final dbData = await loadDb();
|
||||||
serversProvider.setDbInstance(dbData['dbInstance']);
|
serversProvider.setDbInstance(dbData['dbInstance']);
|
||||||
serversProvider.saveFromDb(dbData['servers']);
|
serversProvider.saveFromDb(dbData['servers']);
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
// ignore_for_file: use_build_context_synchronously
|
|
||||||
|
|
||||||
import 'dart:io';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:install_referrer/install_referrer.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
|
||||||
|
@ -13,11 +8,8 @@ import 'package:adguard_home_manager/screens/settings/general_settings/top_items
|
||||||
import 'package:adguard_home_manager/widgets/custom_list_tile.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/widgets/section_label.dart';
|
||||||
|
|
||||||
import 'package:adguard_home_manager/functions/check_app_updates.dart';
|
|
||||||
import 'package:adguard_home_manager/functions/desktop_mode.dart';
|
import 'package:adguard_home_manager/functions/desktop_mode.dart';
|
||||||
import 'package:adguard_home_manager/functions/snackbar.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/providers/app_config_provider.dart';
|
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||||
|
|
||||||
class GeneralSettings extends StatefulWidget {
|
class GeneralSettings extends StatefulWidget {
|
||||||
|
@ -48,6 +40,7 @@ class _GeneralSettingsState extends State<GeneralSettings> {
|
||||||
required Future Function(bool) function
|
required Future Function(bool) function
|
||||||
}) async {
|
}) async {
|
||||||
final result = await function(newStatus);
|
final result = await function(newStatus);
|
||||||
|
if (!context.mounted) return;
|
||||||
if (result == true) {
|
if (result == true) {
|
||||||
showSnackbar(
|
showSnackbar(
|
||||||
appConfigProvider: appConfigProvider,
|
appConfigProvider: appConfigProvider,
|
||||||
|
@ -64,60 +57,60 @@ class _GeneralSettingsState extends State<GeneralSettings> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future checkUpdatesAvailable() async {
|
// Future checkUpdatesAvailable() async {
|
||||||
setState(() => appUpdatesStatus = AppUpdatesStatus.checking);
|
// setState(() => appUpdatesStatus = AppUpdatesStatus.checking);
|
||||||
|
|
||||||
final res = await checkAppUpdates(
|
// final res = await checkAppUpdates(
|
||||||
currentBuildNumber: appConfigProvider.getAppInfo!.buildNumber,
|
// currentBuildNumber: appConfigProvider.getAppInfo!.buildNumber,
|
||||||
setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable,
|
// setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable,
|
||||||
installationSource: appConfigProvider.installationSource,
|
// installationSource: appConfigProvider.installationSource,
|
||||||
isBeta: appConfigProvider.getAppInfo!.version.contains('beta'),
|
// isBeta: appConfigProvider.getAppInfo!.version.contains('beta'),
|
||||||
);
|
// );
|
||||||
|
|
||||||
if (!mounted) return;
|
// if (!mounted) return;
|
||||||
if (res != null) {
|
// if (res != null) {
|
||||||
setState(() => appUpdatesStatus = AppUpdatesStatus.available);
|
// setState(() => appUpdatesStatus = AppUpdatesStatus.available);
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
setState(() => appUpdatesStatus = AppUpdatesStatus.recheck);
|
// setState(() => appUpdatesStatus = AppUpdatesStatus.recheck);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
Widget generateAppUpdateStatus() {
|
// Widget generateAppUpdateStatus() {
|
||||||
if (appUpdatesStatus == AppUpdatesStatus.available) {
|
// if (appUpdatesStatus == AppUpdatesStatus.available) {
|
||||||
return IconButton(
|
// return IconButton(
|
||||||
onPressed: appConfigProvider.appUpdatesAvailable != null
|
// onPressed: appConfigProvider.appUpdatesAvailable != null
|
||||||
? () async {
|
// ? () async {
|
||||||
final link = getAppUpdateDownloadLink(appConfigProvider.appUpdatesAvailable!);
|
// final link = getAppUpdateDownloadLink(appConfigProvider.appUpdatesAvailable!);
|
||||||
if (link != null) {
|
// if (link != null) {
|
||||||
openUrl(link);
|
// openUrl(link);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
: null,
|
// : null,
|
||||||
icon: const Icon(Icons.download_rounded),
|
// icon: const Icon(Icons.download_rounded),
|
||||||
tooltip: AppLocalizations.of(context)!.downloadUpdate,
|
// tooltip: AppLocalizations.of(context)!.downloadUpdate,
|
||||||
);
|
// );
|
||||||
}
|
// }
|
||||||
else if (appUpdatesStatus == AppUpdatesStatus.checking) {
|
// else if (appUpdatesStatus == AppUpdatesStatus.checking) {
|
||||||
return const Padding(
|
// return const Padding(
|
||||||
padding: EdgeInsets.only(right: 16),
|
// padding: EdgeInsets.only(right: 16),
|
||||||
child: SizedBox(
|
// child: SizedBox(
|
||||||
width: 24,
|
// width: 24,
|
||||||
height: 24,
|
// height: 24,
|
||||||
child: CircularProgressIndicator(
|
// child: CircularProgressIndicator(
|
||||||
strokeWidth: 3,
|
// strokeWidth: 3,
|
||||||
)
|
// )
|
||||||
),
|
// ),
|
||||||
);
|
// );
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
return IconButton(
|
// return IconButton(
|
||||||
onPressed: checkUpdatesAvailable,
|
// onPressed: checkUpdatesAvailable,
|
||||||
icon: const Icon(Icons.refresh_rounded),
|
// icon: const Icon(Icons.refresh_rounded),
|
||||||
tooltip: AppLocalizations.of(context)!.checkUpdates,
|
// tooltip: AppLocalizations.of(context)!.checkUpdates,
|
||||||
);
|
// );
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
|
@ -253,17 +246,17 @@ class _GeneralSettingsState extends State<GeneralSettings> {
|
||||||
right: 10
|
right: 10
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
if (!(Platform.isAndroid || Platform.isIOS) || (Platform.isAndroid && (appConfigProvider.installationSource == InstallationAppReferrer.androidManually ))) ...[
|
// if (!(Platform.isAndroid || Platform.isIOS) || (Platform.isAndroid && (appConfigProvider.installationSource == InstallationAppReferrer.androidManually ))) ...[
|
||||||
SectionLabel(label: AppLocalizations.of(context)!.application),
|
// SectionLabel(label: AppLocalizations.of(context)!.application),
|
||||||
CustomListTile(
|
// CustomListTile(
|
||||||
icon: Icons.system_update_rounded,
|
// icon: Icons.system_update_rounded,
|
||||||
title: AppLocalizations.of(context)!.appUpdates,
|
// title: AppLocalizations.of(context)!.appUpdates,
|
||||||
subtitle: appConfigProvider.appUpdatesAvailable != null
|
// subtitle: appConfigProvider.appUpdatesAvailable != null
|
||||||
? AppLocalizations.of(context)!.updateAvailable
|
// ? AppLocalizations.of(context)!.updateAvailable
|
||||||
: AppLocalizations.of(context)!.usingLatestVersion,
|
// : AppLocalizations.of(context)!.usingLatestVersion,
|
||||||
trailing: generateAppUpdateStatus()
|
// trailing: generateAppUpdateStatus()
|
||||||
)
|
// )
|
||||||
]
|
// ]
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:animations/animations.dart';
|
import 'package:animations/animations.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
|
||||||
import 'package:adguard_home_manager/widgets/update_modal.dart';
|
|
||||||
import 'package:adguard_home_manager/widgets/system_ui_overlay_style.dart';
|
import 'package:adguard_home_manager/widgets/system_ui_overlay_style.dart';
|
||||||
|
|
||||||
import 'package:adguard_home_manager/functions/check_app_updates.dart';
|
|
||||||
import 'package:adguard_home_manager/functions/open_url.dart';
|
|
||||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||||
import 'package:adguard_home_manager/config/app_screens.dart';
|
import 'package:adguard_home_manager/config/app_screens.dart';
|
||||||
import 'package:adguard_home_manager/config/sizes.dart';
|
import 'package:adguard_home_manager/config/sizes.dart';
|
||||||
|
@ -37,23 +33,23 @@ class _LayoutState extends State<Layout> with WidgetsBindingObserver {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||||
if (kDebugMode) return; // Don't check for app updates on debug mode
|
// if (kDebugMode) return; // Don't check for app updates on debug mode
|
||||||
final appConfigProvider = Provider.of<AppConfigProvider>(context, listen: false);
|
// final appConfigProvider = Provider.of<AppConfigProvider>(context, listen: false);
|
||||||
final result = await checkAppUpdates(
|
// final result = await checkAppUpdates(
|
||||||
currentBuildNumber: appConfigProvider.getAppInfo!.buildNumber,
|
// currentBuildNumber: appConfigProvider.getAppInfo!.buildNumber,
|
||||||
installationSource: appConfigProvider.installationSource,
|
// installationSource: appConfigProvider.installationSource,
|
||||||
setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable,
|
// setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable,
|
||||||
isBeta: appConfigProvider.getAppInfo!.version.contains('beta'),
|
// isBeta: appConfigProvider.getAppInfo!.version.contains('beta'),
|
||||||
);
|
// );
|
||||||
if (result != null && appConfigProvider.doNotRememberVersion != result.tagName && mounted) {
|
// if (result != null && appConfigProvider.doNotRememberVersion != result.tagName && mounted) {
|
||||||
await showDialog(
|
// await showDialog(
|
||||||
context: context,
|
// context: context,
|
||||||
builder: (context) => UpdateModal(
|
// builder: (context) => UpdateModal(
|
||||||
gitHubRelease: result,
|
// gitHubRelease: result,
|
||||||
onDownload: (link, version) => openUrl(link),
|
// onDownload: (link, version) => openUrl(link),
|
||||||
),
|
// ),
|
||||||
);
|
// );
|
||||||
}
|
// }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue