From 859158e84a14604c820e045a7ebde5bd82ea5b5f Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sat, 18 Feb 2023 21:39:26 -0500 Subject: [PATCH] App edit bugfixes --- lib/pages/app.dart | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/lib/pages/app.dart b/lib/pages/app.dart index 4e0fa5a..0cf9405 100644 --- a/lib/pages/app.dart +++ b/lib/pages/app.dart @@ -283,50 +283,53 @@ class _AppPageState extends State { ); }).then((values) { if (app != null && values != null) { - var changedApp = app.app; - changedApp.additionalSettings = - values; + Map + originalSettings = + app.app.additionalSettings; + app.app.additionalSettings = values; if (source.enforceTrackOnly) { - changedApp.additionalSettings[ + app.app.additionalSettings[ 'trackOnly'] = true; showError( tr('appsFromSourceAreTrackOnly'), context); } - if (changedApp.additionalSettings[ + if (app.app.additionalSettings[ 'releaseDateAsVersion'] == true) { - changedApp.additionalSettings[ + app.app.additionalSettings[ 'noVersionDetection'] = true; - if (app.app.additionalSettings[ + if (originalSettings[ 'releaseDateAsVersion'] != true) { if (app.app.releaseDate != null) { - changedApp.latestVersion = app + bool isUpdated = + app.app.installedVersion == + app.app.latestVersion; + app.app.latestVersion = app .app .releaseDate! .microsecondsSinceEpoch .toString(); - if (app.app.installedVersion == - app.app.latestVersion) { - changedApp.installedVersion = - changedApp.latestVersion; + if (isUpdated) { + app.app.installedVersion = + app.app.latestVersion; } } } - } else if (app.app.additionalSettings[ + } else if (originalSettings[ 'releaseDateAsVersion'] == true) { - changedApp.additionalSettings[ + app.app.additionalSettings[ 'noVersionDetection'] = false; - changedApp.installedVersion = app + app.app.installedVersion = app .installedInfo ?.versionName ?? - changedApp.installedVersion; + app.app.installedVersion; } - appsProvider.saveApps( - [changedApp]).then((value) { - getUpdate(changedApp.id); + appsProvider.saveApps([app.app]).then( + (value) { + getUpdate(app.app.id); }); } });