diff options
| author | 2023-03-07 11:02:59 -0800 | |
|---|---|---|
| committer | 2023-03-07 11:36:08 -0800 | |
| commit | c835bf549b9cce8bc7872fe9cd0e2acd3bb8b223 (patch) | |
| tree | 3b1e08cbd39cdc7c34144b705f598d327793d0a2 | |
| parent | 96c8a3b33f154e09b89abe9ddf2ea5f31922919c (diff) | |
[SettingsProvider] only increment generation of unset settings if new setting is non-predefined
This is a small optimization for the previous CL. The generation number
of all non-predefined, unset settings should only be incremented if the
newly inserted setting is also non-predefined. If it's a predefined
setting, it doesn't affect the non-predefined, unset settings.
BUG: 228619157
Test: atest android.widget.TextViewPrecomputedTextPerfTest#testOnMeasure_RandomText
Test: observed no regression
Change-Id: I33e2391e3e07fb5251cb497a0e87e9815d540e55
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 418011acf6f3..27c8cdfe98f3 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -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); } } |