aboutsummaryrefslogtreecommitdiffstats
path: root/packages/CMSettingsProvider
diff options
context:
space:
mode:
Diffstat (limited to 'packages/CMSettingsProvider')
-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);