From 66a7fd81bff462b0b5901f541747e353ef6fb097 Mon Sep 17 00:00:00 2001 From: wsdfhjxc Date: Fri, 7 Sep 2018 22:33:00 +0200 Subject: [PATCH 1/2] Recreate installed app table on database purge --- app/src/main/java/org/fdroid/fdroid/data/DBHelper.java | 5 +++++ 1 file changed, 5 insertions(+) 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 2dbfba8a4..7d7f74158 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -1127,6 +1127,10 @@ public class DBHelper extends SQLiteOpenHelper { db.execSQL("DROP TABLE " + ApkAntiFeatureJoinTable.NAME); } + if (tableExists(db, InstalledAppTable.NAME)) { + db.execSQL("DROP TABLE " + InstalledAppTable.NAME); + } + db.execSQL("DROP TABLE " + AppMetadataTable.NAME); db.execSQL("DROP TABLE " + ApkTable.NAME); @@ -1137,6 +1141,7 @@ public class DBHelper extends SQLiteOpenHelper { db.execSQL(CREATE_TABLE_CAT_JOIN); db.execSQL(CREATE_TABLE_ANTI_FEATURE); db.execSQL(CREATE_TABLE_APK_ANTI_FEATURE_JOIN); + db.execSQL(CREATE_TABLE_INSTALLED_APP); clearRepoEtags(db); ensureIndexes(db); db.setTransactionSuccessful(); From f10e6f8afef1a959ce1d0d01cac9faa8b016bf94 Mon Sep 17 00:00:00 2001 From: wsdfhjxc Date: Fri, 7 Sep 2018 22:34:41 +0200 Subject: [PATCH 2/2] Refresh installed apps after database purge on forced update --- app/src/main/java/org/fdroid/fdroid/UpdateService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/org/fdroid/fdroid/UpdateService.java b/app/src/main/java/org/fdroid/fdroid/UpdateService.java index 41f6417f3..9aee34285 100644 --- a/app/src/main/java/org/fdroid/fdroid/UpdateService.java +++ b/app/src/main/java/org/fdroid/fdroid/UpdateService.java @@ -48,6 +48,7 @@ import org.fdroid.fdroid.data.ApkProvider; import org.fdroid.fdroid.data.App; import org.fdroid.fdroid.data.AppProvider; import org.fdroid.fdroid.data.DBHelper; +import org.fdroid.fdroid.data.InstalledAppProviderService; import org.fdroid.fdroid.data.Repo; import org.fdroid.fdroid.data.RepoProvider; import org.fdroid.fdroid.data.Schema; @@ -430,6 +431,7 @@ public class UpdateService extends JobIntentService { Utils.debugLog(TAG, "manually requested or forced update"); if (forcedUpdate) { DBHelper.resetTransient(this); + InstalledAppProviderService.compareToPackageManager(this); } } else if (!fdroidPrefs.isBackgroundDownloadAllowed() && !fdroidPrefs.isOnDemandDownloadAllowed()) { Utils.debugLog(TAG, "don't run update");