diff --git a/app/src/main/java/org/fdroid/fdroid/AppDetails.java b/app/src/main/java/org/fdroid/fdroid/AppDetails.java index 8ff6ee17b..dc8c00e9c 100644 --- a/app/src/main/java/org/fdroid/fdroid/AppDetails.java +++ b/app/src/main/java/org/fdroid/fdroid/AppDetails.java @@ -701,6 +701,14 @@ public class AppDetails extends AppCompatActivity { app = newApp; startingPrefs = app.getPrefs(this).createClone(); + + // Remove all "installed" statuses for this app, since we are now viewing it. + AppUpdateStatusManager appUpdateStatusManager = AppUpdateStatusManager.getInstance(this); + for (AppUpdateStatusManager.AppUpdateStatus status : appUpdateStatusManager.getByPackageName(app.packageName)) { + if (status.status == AppUpdateStatusManager.Status.Installed) { + appUpdateStatusManager.removeApk(status.getUniqueKey()); + } + } } private void refreshApkList() { diff --git a/app/src/main/java/org/fdroid/fdroid/AppDetails2.java b/app/src/main/java/org/fdroid/fdroid/AppDetails2.java index 52e06311f..317f21084 100644 --- a/app/src/main/java/org/fdroid/fdroid/AppDetails2.java +++ b/app/src/main/java/org/fdroid/fdroid/AppDetails2.java @@ -121,6 +121,14 @@ public class AppDetails2 extends AppCompatActivity implements ShareChooserDialog return; } app = newApp; + + // Remove all "installed" statuses for this app, since we are now viewing it. + AppUpdateStatusManager appUpdateStatusManager = AppUpdateStatusManager.getInstance(this); + for (AppUpdateStatusManager.AppUpdateStatus status : appUpdateStatusManager.getByPackageName(app.packageName)) { + if (status.status == AppUpdateStatusManager.Status.Installed) { + appUpdateStatusManager.removeApk(status.getUniqueKey()); + } + } } @Override