diff --git a/app/src/main/java/org/fdroid/fdroid/AppDetails.java b/app/src/main/java/org/fdroid/fdroid/AppDetails.java index 1def0e6ed..857f433b6 100644 --- a/app/src/main/java/org/fdroid/fdroid/AppDetails.java +++ b/app/src/main/java/org/fdroid/fdroid/AppDetails.java @@ -432,6 +432,15 @@ public class AppDetails extends AppCompatActivity { myAppObserver); } + @Override + protected void onResume() { + App newApp = AppProvider.Helper.findHighestPriorityMetadata(getContentResolver(), app.packageName); + if (newApp.isInstalled() != app.isInstalled()) { + setApp(newApp); + } + super.onResume(); + } + @Override protected void onResumeFragments() { // Must be called before super.onResumeFragments(), as the fragments depend on the active @@ -993,7 +1002,7 @@ public class AppDetails extends AppCompatActivity { return apk; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); - throw new IllegalStateException("Couldn't find app while installing"); + throw new IllegalStateException("Couldn't find installed apk for " + app.packageName, e); } }