diff options
-rw-r--r-- | api/Android.bp | 12 | ||||
-rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 12 |
2 files changed, 18 insertions, 6 deletions
diff --git a/api/Android.bp b/api/Android.bp index 6e82f1c36eff..73dbd286229d 100644 --- a/api/Android.bp +++ b/api/Android.bp @@ -263,3 +263,15 @@ genrule { out: ["combined-removed-dex.txt"], cmd: "$(location gen_combined_removed_dex.sh) $(location metalava) $(genDir) $(in) > $(out)", } + +java_genrule { + name: "api_fingerprint", + srcs: [ + ":frameworks-base-api-current.txt", + ":frameworks-base-api-system-current.txt", + ":frameworks-base-api-module-lib-current.txt", + ":frameworks-base-api-system-server-current.txt", + ], + out: ["api_fingerprint.txt"], + cmd: "cat $(in) | md5sum | cut -d' ' -f1 > $(out)", +} 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); } } |