mirror of
				https://github.com/SimpleMobileTools/Simple-Contacts.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	properly export custom type values
This commit is contained in:
		| @@ -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 | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user