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 df09f780..f13c21b0 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt
@@ -164,6 +164,7 @@ class EditContactActivity : ContactActivity() {
contact_email_image.applyColorFilter(textColor)
contact_address_image.applyColorFilter(textColor)
contact_event_image.applyColorFilter(textColor)
+ contact_notes_image.applyColorFilter(textColor)
contact_source_image.applyColorFilter(textColor)
val adjustedPrimaryColor = getAdjustedPrimaryColor()
@@ -235,6 +236,7 @@ class EditContactActivity : ContactActivity() {
setupPhoneNumbers()
setupEmails()
setupAddresses()
+ setupNotes()
setupEvents()
}
@@ -283,6 +285,10 @@ class EditContactActivity : ContactActivity() {
}
}
+ private fun setupNotes() {
+ contact_notes.setText(contact!!.notes)
+ }
+
private fun setupEvents() {
contact!!.events.forEachIndexed { index, event ->
var eventHolder = contact_events_holder.getChildAt(index)
@@ -501,6 +507,7 @@ class EditContactActivity : ContactActivity() {
events = getFilledEvents()
source = contact!!.source
starred = if (isContactStarred()) 1 else 0
+ notes = contact_notes.value.replace("\n", "\\n")
Thread {
config.lastUsedContactSource = source
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 133d1154..4215fb71 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt
@@ -216,8 +216,8 @@ class ContactsHelper(val activity: BaseSimpleActivity) {
private fun getNotes(contactId: Int): String {
val uri = ContactsContract.Data.CONTENT_URI
val projection = arrayOf(Note.NOTE)
- val selection = "${ContactsContract.Data.RAW_CONTACT_ID} = ? AND ${ContactsContract.Data.MIMETYPE} = '${Note.CONTENT_ITEM_TYPE}'"
- val selectionArgs = arrayOf(contactId.toString())
+ val selection = "${ContactsContract.Data.RAW_CONTACT_ID} = ? AND ${ContactsContract.Data.MIMETYPE} = ?"
+ val selectionArgs = arrayOf(contactId.toString(), Note.CONTENT_ITEM_TYPE)
var cursor: Cursor? = null
try {
@@ -457,6 +457,15 @@ class ContactsHelper(val activity: BaseSimpleActivity) {
}
}
+ // notes
+ ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI).apply {
+ val selection = "${ContactsContract.Data.RAW_CONTACT_ID} = ? AND ${ContactsContract.Data.MIMETYPE} = ?"
+ val selectionArgs = arrayOf(contact.id.toString(), Note.CONTENT_ITEM_TYPE)
+ withSelection(selection, selectionArgs)
+ withValue(Note.NOTE, contact.notes)
+ operations.add(build())
+ }
+
// favorite
try {
val uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, contact.contactId.toString())
@@ -583,6 +592,14 @@ class ContactsHelper(val activity: BaseSimpleActivity) {
}
}
+ // notes
+ ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI).apply {
+ withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
+ withValue(ContactsContract.Data.MIMETYPE, Note.CONTENT_ITEM_TYPE)
+ withValue(Note.NOTE, contact.notes)
+ operations.add(build())
+ }
+
// photo (inspired by https://gist.github.com/slightfoot/5985900)
var fullSizePhotoData: ByteArray? = null
var scaledSizePhotoData: ByteArray?
diff --git a/app/src/main/res/layout/activity_edit_contact.xml b/app/src/main/res/layout/activity_edit_contact.xml
index 060cbadc..b5c8cc52 100644
--- a/app/src/main/res/layout/activity_edit_contact.xml
+++ b/app/src/main/res/layout/activity_edit_contact.xml
@@ -289,6 +289,30 @@
android:paddingTop="@dimen/medium_margin"
android:src="@drawable/ic_plus"/>
+
+
+
+