From a965deb51e1f117e398793de7d46a46fb33cab48 Mon Sep 17 00:00:00 2001 From: Marcus Hoffmann Date: Mon, 18 May 2020 23:32:47 +0200 Subject: [PATCH] clean up db when deleting a repository Previously everything from a repo staying inside the db when removing it without disabling it first, the problem manifests when the repo is readded later (or a mirror), as it would get a new id but all apk entries still point to the original repoid. So we now first disable a repo (which just calls RepoProvider.Helper.purgeApps) before deleting it from the db. closes Bubu/fdroidclassic#29 --- app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java b/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java index f5ec2803c..c097e9e94 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java @@ -233,6 +233,7 @@ public class RepoProvider extends FDroidProvider { } public static void remove(Context context, long repoId) { + purgeApps(context, findById(context, repoId)); ContentResolver resolver = context.getContentResolver(); Uri uri = RepoProvider.getContentUri(repoId); resolver.delete(uri, null, null);