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"/> + + + +