diff --git a/lib/services/manager_api.dart b/lib/services/manager_api.dart index 3b7e0ef2..759a575a 100644 --- a/lib/services/manager_api.dart +++ b/lib/services/manager_api.dart @@ -83,6 +83,20 @@ class ManagerAPI { } else { app.hasUpdates = await hasAppUpdates(app.packageName, app.patchDate); app.changelog = await getAppChangelog(app.packageName, app.patchDate); + if (!app.hasUpdates) { + String? currentInstalledVersion = + (await DeviceApps.getApp(app.packageName))?.versionName; + if (currentInstalledVersion != null) { + String currentSavedVersion = app.version; + int currentInstalledVersionInt = int.parse( + currentInstalledVersion.replaceAll(RegExp('[^0-9]'), '')); + int currentSavedVersionInt = + int.parse(currentSavedVersion.replaceAll(RegExp('[^0-9]'), '')); + if (currentInstalledVersionInt > currentSavedVersionInt) { + app.hasUpdates = true; + } + } + } } } patchedApps.removeWhere((a) => toRemove.contains(a));