Welcome to mirror list, hosted at ThFree Co, Russian Federation.

NicknameHandler.kt « contactrow « vcard4android « bitfire « at « java « main « src - github.com/bitfireAT/vcard4android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
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
    }

}