Merge "[SettingsProvider] properly clear stale GenerationTracker for Settings.Config" into main
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 144e64f..e8da0d9 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3603,12 +3603,17 @@
+ " type:" + mUri.getPath()
+ " in package:" + cr.getPackageName());
}
+ // When a generation number changes, remove cached values, remove the old
+ // generation tracker and request a new one
+ generationTracker.destroy();
+ mGenerationTrackers.remove(prefix);
for (int i = mValues.size() - 1; i >= 0; i--) {
String key = mValues.keyAt(i);
if (key.startsWith(prefix)) {
mValues.remove(key);
}
}
+ needsGenerationTracker = true;
} else {
boolean prefixCached = mValues.containsKey(prefix);
if (prefixCached) {