diff --git a/lib/functions/check_app_updates.dart b/lib/functions/check_app_updates.dart index e6137d7..504ba2c 100644 --- a/lib/functions/check_app_updates.dart +++ b/lib/functions/check_app_updates.dart @@ -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/services/external_requests.dart'; -import 'package:adguard_home_manager/models/github_release.dart'; +// import 'package:adguard_home_manager/functions/compare_versions.dart'; +// import 'package:adguard_home_manager/services/external_requests.dart'; +// import 'package:adguard_home_manager/models/github_release.dart'; -Future checkAppUpdates({ - required String currentBuildNumber, - required void Function(GitHubRelease?) setUpdateAvailable, - required InstallationAppReferrer? installationSource, - required bool isBeta -}) async { - var result = isBeta - ? await ExternalRequests.getReleasesGitHub() - : await ExternalRequests.getReleaseData(); +// Future checkAppUpdates({ +// required String currentBuildNumber, +// required void Function(GitHubRelease?) setUpdateAvailable, +// required InstallationAppReferrer? installationSource, +// required bool isBeta +// }) async { +// var result = isBeta +// ? await ExternalRequests.getReleasesGitHub() +// : await ExternalRequests.getReleaseData(); - if (result.successful == true) { - late GitHubRelease gitHubRelease; - if (isBeta) { - gitHubRelease = (result.content as List).firstWhere((r) => r.prerelease == true); - } - else { - gitHubRelease = result.content as GitHubRelease; - } +// if (result.successful == true) { +// late GitHubRelease gitHubRelease; +// if (isBeta) { +// gitHubRelease = (result.content as List).firstWhere((r) => r.prerelease == true); +// } +// else { +// gitHubRelease = result.content as GitHubRelease; +// } - final update = gitHubUpdateExists( - currentBuildNumber: currentBuildNumber, - gitHubRelease: gitHubRelease, - isBeta: isBeta - ); +// final update = gitHubUpdateExists( +// currentBuildNumber: currentBuildNumber, +// gitHubRelease: gitHubRelease, +// isBeta: isBeta +// ); - if (update == true) { - setUpdateAvailable(gitHubRelease); +// if (update == true) { +// setUpdateAvailable(gitHubRelease); - if (Platform.isAndroid) { - if (installationSource == InstallationAppReferrer.androidManually) { - return gitHubRelease; - } - else { - return null; - } - } - else if (Platform.isIOS) { - return null; - } - else { - return gitHubRelease; - } - } - else { - setUpdateAvailable(null); - } - } - return null; -} \ No newline at end of file +// if (Platform.isAndroid) { +// if (installationSource == InstallationAppReferrer.androidManually) { +// return gitHubRelease; +// } +// else { +// return null; +// } +// } +// else if (Platform.isIOS) { +// return null; +// } +// else { +// return gitHubRelease; +// } +// } +// else { +// setUpdateAvailable(null); +// } +// } +// return null; +// } \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 854dd43..10b1862 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; -import 'package:install_referrer/install_referrer.dart'; import 'package:provider/provider.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; import 'package:dynamic_color/dynamic_color.dart'; @@ -79,11 +78,6 @@ void main() async { HttpOverrides.global = MyHttpOverrides(); } - if (Platform.isAndroid || Platform.isIOS) { - InstallationAppReferrer installationSource = await InstallReferrer.referrer; - appConfigProvider.setInstallationSource(installationSource); - } - final dbData = await loadDb(); serversProvider.setDbInstance(dbData['dbInstance']); serversProvider.saveFromDb(dbData['servers']); diff --git a/lib/screens/settings/general_settings/general_settings.dart b/lib/screens/settings/general_settings/general_settings.dart index 0029752..f32446d 100644 --- a/lib/screens/settings/general_settings/general_settings.dart +++ b/lib/screens/settings/general_settings/general_settings.dart @@ -1,9 +1,4 @@ -// ignore_for_file: use_build_context_synchronously - -import 'dart:io'; - import 'package:flutter/material.dart'; -import 'package:install_referrer/install_referrer.dart'; import 'package:provider/provider.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/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/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'; class GeneralSettings extends StatefulWidget { @@ -48,6 +40,7 @@ class _GeneralSettingsState extends State { required Future Function(bool) function }) async { final result = await function(newStatus); + if (!context.mounted) return; if (result == true) { showSnackbar( appConfigProvider: appConfigProvider, @@ -64,60 +57,60 @@ class _GeneralSettingsState extends State { } } - Future checkUpdatesAvailable() async { - setState(() => appUpdatesStatus = AppUpdatesStatus.checking); + // Future checkUpdatesAvailable() async { + // setState(() => appUpdatesStatus = AppUpdatesStatus.checking); - final res = await checkAppUpdates( - currentBuildNumber: appConfigProvider.getAppInfo!.buildNumber, - setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable, - installationSource: appConfigProvider.installationSource, - isBeta: appConfigProvider.getAppInfo!.version.contains('beta'), - ); + // final res = await checkAppUpdates( + // currentBuildNumber: appConfigProvider.getAppInfo!.buildNumber, + // setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable, + // installationSource: appConfigProvider.installationSource, + // isBeta: appConfigProvider.getAppInfo!.version.contains('beta'), + // ); - if (!mounted) return; - if (res != null) { - setState(() => appUpdatesStatus = AppUpdatesStatus.available); - } - else { - setState(() => appUpdatesStatus = AppUpdatesStatus.recheck); - } - } + // if (!mounted) return; + // if (res != null) { + // setState(() => appUpdatesStatus = AppUpdatesStatus.available); + // } + // else { + // setState(() => appUpdatesStatus = AppUpdatesStatus.recheck); + // } + // } - Widget generateAppUpdateStatus() { - if (appUpdatesStatus == AppUpdatesStatus.available) { - return IconButton( - onPressed: appConfigProvider.appUpdatesAvailable != null - ? () async { - final link = getAppUpdateDownloadLink(appConfigProvider.appUpdatesAvailable!); - if (link != null) { - openUrl(link); - } - } - : null, - icon: const Icon(Icons.download_rounded), - tooltip: AppLocalizations.of(context)!.downloadUpdate, - ); - } - else if (appUpdatesStatus == AppUpdatesStatus.checking) { - return const Padding( - padding: EdgeInsets.only(right: 16), - child: SizedBox( - width: 24, - height: 24, - child: CircularProgressIndicator( - strokeWidth: 3, - ) - ), - ); - } - else { - return IconButton( - onPressed: checkUpdatesAvailable, - icon: const Icon(Icons.refresh_rounded), - tooltip: AppLocalizations.of(context)!.checkUpdates, - ); - } - } + // Widget generateAppUpdateStatus() { + // if (appUpdatesStatus == AppUpdatesStatus.available) { + // return IconButton( + // onPressed: appConfigProvider.appUpdatesAvailable != null + // ? () async { + // final link = getAppUpdateDownloadLink(appConfigProvider.appUpdatesAvailable!); + // if (link != null) { + // openUrl(link); + // } + // } + // : null, + // icon: const Icon(Icons.download_rounded), + // tooltip: AppLocalizations.of(context)!.downloadUpdate, + // ); + // } + // else if (appUpdatesStatus == AppUpdatesStatus.checking) { + // return const Padding( + // padding: EdgeInsets.only(right: 16), + // child: SizedBox( + // width: 24, + // height: 24, + // child: CircularProgressIndicator( + // strokeWidth: 3, + // ) + // ), + // ); + // } + // else { + // return IconButton( + // onPressed: checkUpdatesAvailable, + // icon: const Icon(Icons.refresh_rounded), + // tooltip: AppLocalizations.of(context)!.checkUpdates, + // ); + // } + // } return Scaffold( appBar: AppBar( @@ -253,17 +246,17 @@ class _GeneralSettingsState extends State { right: 10 ) ), - if (!(Platform.isAndroid || Platform.isIOS) || (Platform.isAndroid && (appConfigProvider.installationSource == InstallationAppReferrer.androidManually ))) ...[ - SectionLabel(label: AppLocalizations.of(context)!.application), - CustomListTile( - icon: Icons.system_update_rounded, - title: AppLocalizations.of(context)!.appUpdates, - subtitle: appConfigProvider.appUpdatesAvailable != null - ? AppLocalizations.of(context)!.updateAvailable - : AppLocalizations.of(context)!.usingLatestVersion, - trailing: generateAppUpdateStatus() - ) - ] + // if (!(Platform.isAndroid || Platform.isIOS) || (Platform.isAndroid && (appConfigProvider.installationSource == InstallationAppReferrer.androidManually ))) ...[ + // SectionLabel(label: AppLocalizations.of(context)!.application), + // CustomListTile( + // icon: Icons.system_update_rounded, + // title: AppLocalizations.of(context)!.appUpdates, + // subtitle: appConfigProvider.appUpdatesAvailable != null + // ? AppLocalizations.of(context)!.updateAvailable + // : AppLocalizations.of(context)!.usingLatestVersion, + // trailing: generateAppUpdateStatus() + // ) + // ] ], ), ) diff --git a/lib/widgets/layout.dart b/lib/widgets/layout.dart index 9a42415..119bee1 100644 --- a/lib/widgets/layout.dart +++ b/lib/widgets/layout.dart @@ -1,14 +1,10 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:animations/animations.dart'; import 'package:provider/provider.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/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/config/app_screens.dart'; import 'package:adguard_home_manager/config/sizes.dart'; @@ -37,23 +33,23 @@ class _LayoutState extends State with WidgetsBindingObserver { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) async { - if (kDebugMode) return; // Don't check for app updates on debug mode - final appConfigProvider = Provider.of(context, listen: false); - final result = await checkAppUpdates( - currentBuildNumber: appConfigProvider.getAppInfo!.buildNumber, - installationSource: appConfigProvider.installationSource, - setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable, - isBeta: appConfigProvider.getAppInfo!.version.contains('beta'), - ); - if (result != null && appConfigProvider.doNotRememberVersion != result.tagName && mounted) { - await showDialog( - context: context, - builder: (context) => UpdateModal( - gitHubRelease: result, - onDownload: (link, version) => openUrl(link), - ), - ); - } + // if (kDebugMode) return; // Don't check for app updates on debug mode + // final appConfigProvider = Provider.of(context, listen: false); + // final result = await checkAppUpdates( + // currentBuildNumber: appConfigProvider.getAppInfo!.buildNumber, + // installationSource: appConfigProvider.installationSource, + // setUpdateAvailable: appConfigProvider.setAppUpdatesAvailable, + // isBeta: appConfigProvider.getAppInfo!.version.contains('beta'), + // ); + // if (result != null && appConfigProvider.doNotRememberVersion != result.tagName && mounted) { + // await showDialog( + // context: context, + // builder: (context) => UpdateModal( + // gitHubRelease: result, + // onDownload: (link, version) => openUrl(link), + // ), + // ); + // } }); }