summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Song Chun Fan <schfan@google.com> 2024-01-09 18:15:37 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-01-09 18:15:37 +0000
commitf1198a17dff9bc9bdbc4fcc15a96b374e686d624 (patch)
treed5ad3df3ccd99a677b2099289a4165c1289ec4bc
parentc69fa839294ff43e33612f6f8c5e89651437a0af (diff)
parenta9a05c631b1e49b50dbd12bfa63030e5b4a920aa (diff)
Merge "[SettingsProvider] properly clear stale GenerationTracker for Settings.Config" into main
-rw-r--r--core/java/android/provider/Settings.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 144e64f9c27b..e8da0d9341d3 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3603,12 +3603,17 @@ public final class Settings {
+ " 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) {