diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
index db2bef0f..ad80cb37 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
@@ -279,6 +279,7 @@ class EditContactActivity : ContactActivity() {
contact_middle_name.beVisibleIf(showFields and SHOW_MIDDLE_NAME_FIELD != 0)
contact_surname.beVisibleIf(showFields and SHOW_SURNAME_FIELD != 0)
contact_suffix.beVisibleIf(showFields and SHOW_SUFFIX_FIELD != 0)
+ contact_nickname.beVisibleIf(showFields and SHOW_NICKNAME_FIELD != 0)
contact_source.beVisibleIf(showFields and SHOW_CONTACT_SOURCE_FIELD != 0)
contact_source_image.beVisibleIf(showFields and SHOW_CONTACT_SOURCE_FIELD != 0)
@@ -346,6 +347,7 @@ class EditContactActivity : ContactActivity() {
contact_middle_name.setText(middleName)
contact_surname.setText(surname)
contact_suffix.setText(suffix)
+ contact_nickname.setText(nickname)
}
}
@@ -715,6 +717,7 @@ class EditContactActivity : ContactActivity() {
middleName = contact_middle_name.value
surname = contact_surname.value
suffix = contact_suffix.value
+ nickname = contact_nickname.value
photoUri = currentContactPhotoPath
phoneNumbers = getFilledPhoneNumbers()
emails = getFilledEmails()
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt
index b719390d..2413682b 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt
@@ -825,6 +825,22 @@ class ContactsHelper(val activity: Activity) {
operations.add(build())
}
+ // delete nickname
+ ContentProviderOperation.newDelete(ContactsContract.Data.CONTENT_URI).apply {
+ val selection = "${ContactsContract.Data.RAW_CONTACT_ID} = ? AND ${ContactsContract.Data.MIMETYPE} = ? "
+ val selectionArgs = arrayOf(contact.id.toString(), Nickname.CONTENT_ITEM_TYPE)
+ withSelection(selection, selectionArgs)
+ operations.add(build())
+ }
+
+ // add nickname
+ ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI).apply {
+ withValue(ContactsContract.Data.RAW_CONTACT_ID, contact.id)
+ withValue(ContactsContract.Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE)
+ withValue(Nickname.NAME, contact.nickname)
+ operations.add(build())
+ }
+
// delete phone numbers
ContentProviderOperation.newDelete(ContactsContract.Data.CONTENT_URI).apply {
val selection = "${ContactsContract.Data.RAW_CONTACT_ID} = ? AND ${ContactsContract.Data.MIMETYPE} = ? "
@@ -1089,6 +1105,14 @@ class ContactsHelper(val activity: Activity) {
operations.add(build())
}
+ // nickname
+ ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI).apply {
+ withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
+ withValue(ContactsContract.Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE)
+ withValue(Nickname.NAME, contact.nickname)
+ operations.add(build())
+ }
+
// phone numbers
contact.phoneNumbers.forEach {
ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI).apply {
diff --git a/app/src/main/res/layout/activity_edit_contact.xml b/app/src/main/res/layout/activity_edit_contact.xml
index 534ac995..15c77a7c 100644
--- a/app/src/main/res/layout/activity_edit_contact.xml
+++ b/app/src/main/res/layout/activity_edit_contact.xml
@@ -170,6 +170,22 @@
android:textCursorDrawable="@null"
android:textSize="@dimen/bigger_text_size"/>
+
+