Merge "[SettingsProvider] only increment generation of unset settings if new setting is non-predefined" into udc-dev

This commit is contained in:
TreeHugger Robot
2023-03-07 23:19:48 +00:00
committed by Android (Google) Code Review

View File

@@ -3056,11 +3056,11 @@ public class SettingsProvider extends ContentProvider {
final int key = makeKey(type, userId);
boolean success = false;
boolean isNewSetting = false;
boolean wasUnsetNonPredefinedSetting = false;
SettingsState settingsState = peekSettingsStateLocked(key);
if (settingsState != null) {
if (!settingsState.hasSetting(name)) {
isNewSetting = true;
if (!isSettingPreDefined(name, type) && !settingsState.hasSetting(name)) {
wasUnsetNonPredefinedSetting = true;
}
success = settingsState.insertSettingLocked(name, value,
tag, makeDefault, forceNonSystemPackage, packageName,
@@ -3073,9 +3073,9 @@ public class SettingsProvider extends ContentProvider {
if (forceNotify || success) {
notifyForSettingsChange(key, name);
if (isNewSetting && !isSettingPreDefined(name, type)) {
// Increment the generation number for all null settings because a new
// non-predefined setting has been inserted
if (wasUnsetNonPredefinedSetting) {
// Increment the generation number for all non-predefined, unset settings,
// because a new non-predefined setting has been inserted
mGenerationRegistry.incrementGenerationForUnsetSettings(key);
}
}