summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Songchun Fan <schfan@google.com> 2023-03-07 11:02:59 -0800
committer Songchun Fan <schfan@google.com> 2023-03-07 11:36:08 -0800
commitc835bf549b9cce8bc7872fe9cd0e2acd3bb8b223 (patch)
tree3b1e08cbd39cdc7c34144b705f598d327793d0a2
parent96c8a3b33f154e09b89abe9ddf2ea5f31922919c (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.java12
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);
}
}