From 42475fa42a9e9302d2907866635e9cfc440c3766 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 25 Nov 2022 19:07:05 -0500 Subject: [PATCH] Only ask for install perm. for non-track-only apps --- lib/pages/add_app.dart | 22 +++++++++++++--------- lib/pages/app.dart | 18 +++++++++++------- lib/pages/apps.dart | 9 +++++++-- lib/pages/import_export.dart | 1 - 4 files changed, 31 insertions(+), 19 deletions(-) diff --git a/lib/pages/add_app.dart b/lib/pages/add_app.dart index 7bc6448..cd14beb 100644 --- a/lib/pages/add_app.dart +++ b/lib/pages/add_app.dart @@ -155,15 +155,19 @@ class _AddAppPageState extends State { } if (cont) { HapticFeedback.selectionClick(); - App app = await sourceProvider.getApp( - pickedSource!, - userInput, - sourceSpecificAdditionalData, - trackOnly: pickedSource! - .enforceTrackOnly || - userPickedTrackOnly); - await settingsProvider - .getInstallPermission(); + var trackOnly = pickedSource! + .enforceTrackOnly || + userPickedTrackOnly; + App app = + await sourceProvider.getApp( + pickedSource!, + userInput, + sourceSpecificAdditionalData, + trackOnly: trackOnly); + if (!trackOnly) { + await settingsProvider + .getInstallPermission(); + } // Only download the APK here if you need to for the package ID if (sourceProvider .isTempId(app.id) && diff --git a/lib/pages/app.dart b/lib/pages/app.dart index 81f7667..9a3794d 100644 --- a/lib/pages/app.dart +++ b/lib/pages/app.dart @@ -223,13 +223,17 @@ class _AppPageState extends State { !appsProvider.areDownloadsRunning() ? () { HapticFeedback.heavyImpact(); - appsProvider - .downloadAndInstallLatestApps( - [app!.app.id], - context).then((res) { - if (res.isNotEmpty && mounted) { - Navigator.of(context).pop(); - } + settingsProvider + .getInstallPermission() + .then((value) { + appsProvider + .downloadAndInstallLatestApps( + [app!.app.id], + context).then((res) { + if (res.isNotEmpty && mounted) { + Navigator.of(context).pop(); + } + }); }).catchError((e) { showError(e, context); }); diff --git a/lib/pages/apps.dart b/lib/pages/apps.dart index d10422f..20464f6 100644 --- a/lib/pages/apps.dart +++ b/lib/pages/apps.dart @@ -428,8 +428,13 @@ class AppsPageState extends State { findGeneratedFormValueByKey(formInputs, values, 'trackonlies') == 'true'; - settingsProvider - .getInstallPermission() + (() async { + if (shouldInstallNew || + shouldInstallUpdates) { + await settingsProvider + .getInstallPermission(); + } + })() .then((_) { List toInstall = []; if (shouldInstallUpdates) { diff --git a/lib/pages/import_export.dart b/lib/pages/import_export.dart index 906496e..fe78916 100644 --- a/lib/pages/import_export.dart +++ b/lib/pages/import_export.dart @@ -41,7 +41,6 @@ class _ImportExportPageState extends State { ); Future>> addApps(List urls) async { - await settingsProvider.getInstallPermission(); List results = await sourceProvider.getAppsByURLNaive(urls, ignoreUrls: appsProvider.apps.values.map((e) => e.app.url).toList()); List apps = results[0];