diff --git a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java index 4d702dcf8..209905a27 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -566,7 +566,7 @@ class DBHelper extends SQLiteOpenHelper { * table for the first time. */ private void recreateInstalledAppTable(SQLiteDatabase db, int oldVersion) { - if (oldVersion >= 57) { + if (oldVersion >= 56) { return; } Utils.debugLog(TAG, "(re)creating 'installed app' database table."); diff --git a/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java b/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java index 1486b0215..971ed732d 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java @@ -459,11 +459,17 @@ public class InstallManagerService extends Service { return ACTIVE_APPS.get(getApkFromActive(urlString).packageName); } + /** + * Remove the URL from this service, and return the {@link Apk}. This returns + * an empty {@code Apk} instance if we get a null one so the code doesn't need + * lots of null guards. + */ private static Apk removeFromActive(String urlString) { Apk apk = ACTIVE_APKS.remove(urlString); - if (apk != null) { - ACTIVE_APPS.remove(apk.packageName); + if (apk == null) { + return new Apk(); } + ACTIVE_APPS.remove(apk.packageName); return apk; }