am 8f253545: Merge "bugfix: don\'t show name in nickname field" into lmp-mr1-dev
* commit '8f253545c6e2515625c0f2a872e5501984453949':
bugfix: don't show name in nickname field
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index e56571d..fe6ce7a 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -265,9 +265,15 @@
mPhoneticName.setValues(
type.getKindForMimetype(DataKind.PSEUDO_MIME_TYPE_PHONETIC_NAME),
primary, state, false, vig);
- mNickName.setValues(
- type.getKindForMimetype(Nickname.CONTENT_ITEM_TYPE),
- primary, state, false, vig);
+ // It is useful to use Nickname outside of a KindSectionView so that we can treat it
+ // as a part of StructuredName's fake KindSectionView, even though it uses a
+ // different CP2 mime-type. We do a bit of extra work below to make this possible.
+ final DataKind nickNameKind = type.getKindForMimetype(Nickname.CONTENT_ITEM_TYPE);
+ ValuesDelta primaryNickNameEntry = state.getPrimaryEntry(nickNameKind.mimeType);
+ if (primaryNickNameEntry == null) {
+ primaryNickNameEntry = RawContactModifier.insertChild(state, nickNameKind);
+ }
+ mNickName.setValues(nickNameKind, primaryNickNameEntry, state, false, vig);
mNickName.setDeletable(false);
} else if (Photo.CONTENT_ITEM_TYPE.equals(mimeType)) {
// Handle special case editor for photos