blob: 558bf90078c9e9587582a295bed12dee60ec1348 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
package at.bitfire.vcard4android.contactrow
import android.content.ContentValues
import android.provider.ContactsContract.CommonDataKinds.Nickname
import at.bitfire.vcard4android.Contact
import at.bitfire.vcard4android.LabeledProperty
import at.bitfire.vcard4android.property.CustomType
object NicknameHandler: DataRowHandler() {
override fun forMimeType() = Nickname.CONTENT_ITEM_TYPE
override fun handle(values: ContentValues, contact: Contact) {
super.handle(values, contact)
val name = values.getAsString(Nickname.NAME) ?: return
val nick = ezvcard.property.Nickname()
val labeledNick = LabeledProperty(nick)
nick.values += name
when (values.getAsInteger(Nickname.TYPE)) {
Nickname.TYPE_MAIDEN_NAME ->
nick.type = CustomType.Nickname.MAIDEN_NAME
Nickname.TYPE_SHORT_NAME ->
nick.type = CustomType.Nickname.SHORT_NAME
Nickname.TYPE_INITIALS ->
nick.type = CustomType.Nickname.INITIALS
Nickname.TYPE_CUSTOM ->
values.getAsString(Nickname.LABEL)?.let { labeledNick.label = it }
}
contact.nickName = labeledNick
}
}
|