Only ask for install perm. for non-track-only apps

This commit is contained in:
Imran Remtulla
2022-11-25 19:07:05 -05:00
parent d29534ef2e
commit 42475fa42a
4 changed files with 31 additions and 19 deletions

View File

@@ -155,15 +155,19 @@ class _AddAppPageState extends State<AddAppPage> {
}
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) &&

View File

@@ -223,13 +223,17 @@ class _AppPageState extends State<AppPage> {
!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);
});

View File

@@ -428,8 +428,13 @@ class AppsPageState extends State<AppsPage> {
findGeneratedFormValueByKey(formInputs,
values, 'trackonlies') ==
'true';
settingsProvider
.getInstallPermission()
(() async {
if (shouldInstallNew ||
shouldInstallUpdates) {
await settingsProvider
.getInstallPermission();
}
})()
.then((_) {
List<String> toInstall = [];
if (shouldInstallUpdates) {

View File

@@ -41,7 +41,6 @@ class _ImportExportPageState extends State<ImportExportPage> {
);
Future<List<List<String>>> addApps(List<String> urls) async {
await settingsProvider.getInstallPermission();
List<dynamic> results = await sourceProvider.getAppsByURLNaive(urls,
ignoreUrls: appsProvider.apps.values.map((e) => e.app.url).toList());
List<App> apps = results[0];