Merge "Remove noisy debug logs."
diff --git a/src/com/android/contacts/GroupMemberLoader.java b/src/com/android/contacts/GroupMemberLoader.java
index 9605747..a75da48 100644
--- a/src/com/android/contacts/GroupMemberLoader.java
+++ b/src/com/android/contacts/GroupMemberLoader.java
@@ -16,6 +16,7 @@
package com.android.contacts;
import com.android.contacts.list.ContactListAdapter;
+import com.android.contacts.preference.ContactsPreferences;
import android.content.Context;
import android.content.CursorLoader;
@@ -81,7 +82,13 @@
setProjection(PROJECTION_DATA);
setSelection(createSelection());
setSelectionArgs(createSelectionArgs());
- setSortOrder(Contacts.SORT_KEY_ALTERNATIVE);
+
+ ContactsPreferences prefs = new ContactsPreferences(context);
+ if (prefs.getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+ setSortOrder(Contacts.SORT_KEY_PRIMARY);
+ } else {
+ setSortOrder(Contacts.SORT_KEY_ALTERNATIVE);
+ }
}
private Uri createUri() {
diff --git a/src/com/android/contacts/editor/StructuredNameEditorView.java b/src/com/android/contacts/editor/StructuredNameEditorView.java
index 5a2ffd3..6911628 100644
--- a/src/com/android/contacts/editor/StructuredNameEditorView.java
+++ b/src/com/android/contacts/editor/StructuredNameEditorView.java
@@ -77,18 +77,18 @@
if (!isFieldChanged(column, value)) {
return;
}
+ super.onFieldChanged(column, value);
mChanged = true;
+ // Make sure the display name and the structured name are synced
if (hasShortAndLongForms()) {
if (areOptionalFieldsVisible()) {
- eraseFullName(getValues());
+ rebuildFullName(getValues());
} else {
- eraseStructuredName(getValues());
+ rebuildStructuredName(getValues());
}
}
-
- super.onFieldChanged(column, value);
}
@Override
@@ -165,12 +165,28 @@
values.putNull(StructuredName.DISPLAY_NAME);
}
+ private void rebuildFullName(ValuesDelta values) {
+ Map<String, String> structuredNameMap = valuesToStructuredNameMap(values);
+ String displayName = NameConverter.structuredNameToDisplayName(getContext(),
+ structuredNameMap);
+ values.put(StructuredName.DISPLAY_NAME, displayName);
+ }
+
private void eraseStructuredName(ValuesDelta values) {
for (String field : NameConverter.STRUCTURED_NAME_FIELDS) {
values.putNull(field);
}
}
+ private void rebuildStructuredName(ValuesDelta values) {
+ String displayName = values.getAsString(StructuredName.DISPLAY_NAME);
+ Map<String, String> structuredNameMap = NameConverter.displayNameToStructuredName(
+ getContext(), displayName);
+ for (String field : structuredNameMap.keySet()) {
+ values.put(field, structuredNameMap.get(field));
+ }
+ }
+
private static void appendQueryParameter(Uri.Builder builder, String field, String value) {
if (!TextUtils.isEmpty(value)) {
builder.appendQueryParameter(field, value);