diff --git a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java index 910ab70c2..389555883 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java @@ -983,6 +983,7 @@ public class AppProvider extends FDroidProvider { categoryValues.put(CatJoinTable.Cols.CATEGORY_ID, categoryId); db().insert(getCatJoinTableName(), null, categoryValues); } + getContext().getContentResolver().notifyChange(CategoryProvider.getContentUri(), null); } } diff --git a/app/src/main/java/org/fdroid/fdroid/data/CategoryProvider.java b/app/src/main/java/org/fdroid/fdroid/data/CategoryProvider.java index 8186fda0a..7da97e339 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/CategoryProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/CategoryProvider.java @@ -17,6 +17,7 @@ import java.util.Locale; import java.util.Map; public class CategoryProvider extends FDroidProvider { + public static final String TAG = "CategoryProvider"; public static final class Helper { private Helper() { @@ -26,7 +27,7 @@ public class CategoryProvider extends FDroidProvider { * During repo updates, each app needs to know the ID of each category it belongs to. * This results in lots of database lookups, usually at least one for each app, sometimes more. * To improve performance, this caches the association between categories and their database IDs. - * + *
* It can stay around for the entire F-Droid process, even across multiple repo updates, as we * don't actually remove data from the categories table. */ 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 ca30208d2..20f19860a 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -1318,6 +1318,7 @@ public class DBHelper extends SQLiteOpenHelper { Utils.debugLog(TAG, "Removing all index tables, they will be recreated next time F-Droid updates."); Preferences.get().resetLastUpdateCheck(); + CategoryProvider.Helper.clearCategoryIdCache(); db.beginTransaction(); try {