mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-02-20 05:20:56 +01:00
properly export custom type values
This commit is contained in:
parent
00d5fbc6be
commit
375cb14e97
@ -56,6 +56,7 @@ const val PHOTO_UNCHANGED = 4
|
|||||||
const val CELL = "CELL"
|
const val CELL = "CELL"
|
||||||
const val WORK = "WORK"
|
const val WORK = "WORK"
|
||||||
const val HOME = "HOME"
|
const val HOME = "HOME"
|
||||||
|
const val OTHER = "OTHER"
|
||||||
const val PREF = "PREF"
|
const val PREF = "PREF"
|
||||||
const val MAIN = "MAIN"
|
const val MAIN = "MAIN"
|
||||||
const val FAX = "FAX"
|
const val FAX = "FAX"
|
||||||
|
@ -15,10 +15,7 @@ import com.simplemobiletools.contacts.helpers.VcfExporter.ExportResult.EXPORT_FA
|
|||||||
import com.simplemobiletools.contacts.models.Contact
|
import com.simplemobiletools.contacts.models.Contact
|
||||||
import ezvcard.Ezvcard
|
import ezvcard.Ezvcard
|
||||||
import ezvcard.VCard
|
import ezvcard.VCard
|
||||||
import ezvcard.parameter.AddressType
|
|
||||||
import ezvcard.parameter.EmailType
|
|
||||||
import ezvcard.parameter.ImageType
|
import ezvcard.parameter.ImageType
|
||||||
import ezvcard.parameter.TelephoneType
|
|
||||||
import ezvcard.property.*
|
import ezvcard.property.*
|
||||||
import ezvcard.util.PartialDate
|
import ezvcard.util.PartialDate
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@ -62,13 +59,13 @@ class VcfExporter {
|
|||||||
|
|
||||||
contact.phoneNumbers.forEach {
|
contact.phoneNumbers.forEach {
|
||||||
val phoneNumber = Telephone(it.value)
|
val phoneNumber = Telephone(it.value)
|
||||||
phoneNumber.types.add(TelephoneType.find(getPhoneNumberLabel(it.type)))
|
phoneNumber.parameters.addType(getPhoneNumberTypeLabel(it.type, it.label))
|
||||||
card.addTelephoneNumber(phoneNumber)
|
card.addTelephoneNumber(phoneNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
contact.emails.forEach {
|
contact.emails.forEach {
|
||||||
val email = Email(it.value)
|
val email = Email(it.value)
|
||||||
email.types.add(EmailType.find(getEmailTypeLabel(it.type)))
|
email.parameters.addType(getEmailTypeLabel(it.type, it.label))
|
||||||
card.addEmail(email)
|
card.addEmail(email)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +98,7 @@ class VcfExporter {
|
|||||||
contact.addresses.forEach {
|
contact.addresses.forEach {
|
||||||
val address = Address()
|
val address = Address()
|
||||||
address.streetAddress = it.value
|
address.streetAddress = it.value
|
||||||
address.types.add(AddressType.find(getAddressTypeLabel(it.type)))
|
address.parameters.addType(getAddressTypeLabel(it.type, it.label))
|
||||||
card.addAddress(address)
|
card.addAddress(address)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,24 +140,30 @@ class VcfExporter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getPhoneNumberLabel(type: Int) = when (type) {
|
private fun getPhoneNumberTypeLabel(type: Int, label: String) = when (type) {
|
||||||
CommonDataKinds.Phone.TYPE_MOBILE -> CELL
|
CommonDataKinds.Phone.TYPE_MOBILE -> CELL
|
||||||
|
CommonDataKinds.Phone.TYPE_HOME -> HOME
|
||||||
CommonDataKinds.Phone.TYPE_WORK -> WORK
|
CommonDataKinds.Phone.TYPE_WORK -> WORK
|
||||||
CommonDataKinds.Phone.TYPE_MAIN -> PREF
|
CommonDataKinds.Phone.TYPE_MAIN -> PREF
|
||||||
CommonDataKinds.Phone.TYPE_FAX_WORK -> WORK_FAX
|
CommonDataKinds.Phone.TYPE_FAX_WORK -> WORK_FAX
|
||||||
CommonDataKinds.Phone.TYPE_FAX_HOME -> HOME_FAX
|
CommonDataKinds.Phone.TYPE_FAX_HOME -> HOME_FAX
|
||||||
CommonDataKinds.Phone.TYPE_PAGER -> PAGER
|
CommonDataKinds.Phone.TYPE_PAGER -> PAGER
|
||||||
else -> HOME
|
CommonDataKinds.Phone.TYPE_OTHER -> OTHER
|
||||||
|
else -> label
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getEmailTypeLabel(type: Int) = when (type) {
|
private fun getEmailTypeLabel(type: Int, label: String) = when (type) {
|
||||||
|
CommonDataKinds.Email.TYPE_HOME -> HOME
|
||||||
CommonDataKinds.Email.TYPE_WORK -> WORK
|
CommonDataKinds.Email.TYPE_WORK -> WORK
|
||||||
CommonDataKinds.Email.TYPE_MOBILE -> MOBILE
|
CommonDataKinds.Email.TYPE_MOBILE -> MOBILE
|
||||||
else -> HOME
|
CommonDataKinds.Email.TYPE_OTHER -> OTHER
|
||||||
|
else -> label
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getAddressTypeLabel(type: Int) = when (type) {
|
private fun getAddressTypeLabel(type: Int, label: String) = when (type) {
|
||||||
|
CommonDataKinds.StructuredPostal.TYPE_HOME -> HOME
|
||||||
CommonDataKinds.StructuredPostal.TYPE_WORK -> WORK
|
CommonDataKinds.StructuredPostal.TYPE_WORK -> WORK
|
||||||
else -> HOME
|
CommonDataKinds.StructuredPostal.TYPE_OTHER -> OTHER
|
||||||
|
else -> label
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user