aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorAdnan Begovic <adnan@cyngn.com>2016-01-26 11:08:31 -0800
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-01-26 16:52:54 -0800
commitad6f85c69ee2fde7b12f78c88c2e966e2dae7a46 (patch)
tree0b76fdfaa121092cf27b43d87f46220bcb886504 /packages
parent3629a574b2a349a76036be9e887927549f510866 (diff)
downloadvendor_cmsdk-ad6f85c69ee2fde7b12f78c88c2e966e2dae7a46.zip
vendor_cmsdk-ad6f85c69ee2fde7b12f78c88c2e966e2dae7a46.tar.gz
vendor_cmsdk-ad6f85c69ee2fde7b12f78c88c2e966e2dae7a46.tar.bz2
CMSettingsProvider: Don't trample default values on migrate.
Since the migration is invoked even on a clean flash, with no means of knowing what scenario we're coming from. Assume that all null values are to be dropped and default values are to be given precedence. Change-Id: I10eb2f4650c379422268423dbc011b49f77ed910 TICKET: CYNGNOS-1721
Diffstat (limited to 'packages')
-rw-r--r--packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMSettingsProvider.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMSettingsProvider.java b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMSettingsProvider.java
index 6104ba4..196c942 100644
--- a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMSettingsProvider.java
+++ b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMSettingsProvider.java
@@ -213,6 +213,14 @@ public class CMSettingsProvider extends ContentProvider {
if (LOCAL_LOGV) Log.d(TAG, "Table: " + tableName + ", Key: " + settingsKey + ", Value: "
+ settingsValue);
+ // Don't trample defaults with null values. This is the only scenario where defaults
+ // take precedence over migration values.
+ if (settingsValue == null) {
+ if (LOCAL_LOGV) Log.d(TAG, "Skipping migrating " + settingsKey
+ + " because of null value");
+ continue;
+ }
+
ContentValues contentValue = new ContentValues();
contentValue.put(Settings.NameValueTable.NAME, settingsKey);
contentValue.put(Settings.NameValueTable.VALUE, settingsValue);