Merge "Import revised translations. DO NOT MERGE" into honeycomb-mr1
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index ebd35f9..a6815a7 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -341,8 +341,12 @@
}
protected boolean isFieldChanged(String column, String value) {
- String oldValue = mEntry.getAsString(column);
- return !TextUtils.equals(oldValue, value);
+ final String dbValue = mEntry.getAsString(column);
+ // nullable fields (e.g. Middle Name) are usually represented as empty columns,
+ // so lets treat null and empty space equivalently here
+ final String dbValueNoNull = dbValue == null ? "" : dbValue;
+ final String valueNoNull = value == null ? "" : value;
+ return !TextUtils.equals(dbValueNoNull, valueNoNull);
}
protected void rebuildValues() {
diff --git a/src/com/android/contacts/model/EntityModifier.java b/src/com/android/contacts/model/EntityModifier.java
index ab19a35..1e014ef 100644
--- a/src/com/android/contacts/model/EntityModifier.java
+++ b/src/com/android/contacts/model/EntityModifier.java
@@ -430,8 +430,10 @@
if (entries == null) continue;
for (ValuesDelta entry : entries) {
- if ((entry.isInsert() || entry.isUpdate() || entry.isDelete())
- && !isEmpty(entry, kind)) {
+ // An empty Insert must be ignored, because it won't save anything (an example
+ // is an empty name that stays empty)
+ final boolean isRealInsert = entry.isInsert() && !isEmpty(entry, kind);
+ if (isRealInsert || entry.isUpdate() || entry.isDelete()) {
return true;
}
}