wipe "known categories" cache when database transients are reset
closes #1626 closes #1632
This commit is contained in:
parent
2a4c9f0fcb
commit
be9b6515cd
@ -983,6 +983,7 @@ public class AppProvider extends FDroidProvider {
|
|||||||
categoryValues.put(CatJoinTable.Cols.CATEGORY_ID, categoryId);
|
categoryValues.put(CatJoinTable.Cols.CATEGORY_ID, categoryId);
|
||||||
db().insert(getCatJoinTableName(), null, categoryValues);
|
db().insert(getCatJoinTableName(), null, categoryValues);
|
||||||
}
|
}
|
||||||
|
getContext().getContentResolver().notifyChange(CategoryProvider.getContentUri(), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ import java.util.Locale;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class CategoryProvider extends FDroidProvider {
|
public class CategoryProvider extends FDroidProvider {
|
||||||
|
public static final String TAG = "CategoryProvider";
|
||||||
|
|
||||||
public static final class Helper {
|
public static final class Helper {
|
||||||
private 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.
|
* 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.
|
* 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.
|
* To improve performance, this caches the association between categories and their database IDs.
|
||||||
*
|
* <p>
|
||||||
* It can stay around for the entire F-Droid process, even across multiple repo updates, as we
|
* 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.
|
* don't actually remove data from the categories table.
|
||||||
*/
|
*/
|
||||||
|
@ -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.");
|
Utils.debugLog(TAG, "Removing all index tables, they will be recreated next time F-Droid updates.");
|
||||||
|
|
||||||
Preferences.get().resetLastUpdateCheck();
|
Preferences.get().resetLastUpdateCheck();
|
||||||
|
CategoryProvider.Helper.clearCategoryIdCache();
|
||||||
|
|
||||||
db.beginTransaction();
|
db.beginTransaction();
|
||||||
try {
|
try {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user