diff options
Diffstat (limited to 'src/main/java/at/bitfire/vcard4android/contactrow/NoteBuilder.kt')
-rw-r--r-- | src/main/java/at/bitfire/vcard4android/contactrow/NoteBuilder.kt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/at/bitfire/vcard4android/contactrow/NoteBuilder.kt b/src/main/java/at/bitfire/vcard4android/contactrow/NoteBuilder.kt new file mode 100644 index 0000000..9002935 --- /dev/null +++ b/src/main/java/at/bitfire/vcard4android/contactrow/NoteBuilder.kt @@ -0,0 +1,28 @@ +package at.bitfire.vcard4android.contactrow + +import android.net.Uri +import android.provider.ContactsContract.CommonDataKinds.Note +import at.bitfire.vcard4android.BatchOperation +import at.bitfire.vcard4android.Contact + +class NoteBuilder(dataRowUri: Uri, rawContactId: Long?, contact: Contact) + : DataRowBuilder(Factory.mimeType(), dataRowUri, rawContactId, contact) { + + override fun build(): List<BatchOperation.CpoBuilder> { + val note = contact.note + if (note.isNullOrBlank()) + return emptyList() + + return listOf(newDataRow() + .withValue(Note.MIMETYPE, Note.CONTENT_ITEM_TYPE) + .withValue(Note.NOTE, note)) + } + + + object Factory: DataRowBuilder.Factory<NoteBuilder> { + override fun mimeType() = Note.CONTENT_ITEM_TYPE + override fun newInstance(dataRowUri: Uri, rawContactId: Long?, contact: Contact) = + NoteBuilder(dataRowUri, rawContactId, contact) + } + +}
\ No newline at end of file |