diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/VCardViewerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/VCardViewerAdapter.kt index 1d63d84a..fa31a04c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/VCardViewerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/VCardViewerAdapter.kt @@ -55,7 +55,7 @@ class VCardViewerAdapter( } private fun setupVCardView(view: View, item: VCardWrapper) { - val name = item.vCard.formattedName?.value + val name = item.getFullName() view.apply { item_contact_name.apply { text = name diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/VCard.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/VCard.kt index 22e8b9c8..23609674 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/VCard.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/VCard.kt @@ -14,6 +14,21 @@ private val displayedPropertyClasses = arrayOf( data class VCardWrapper(val vCard: VCard, var expanded: Boolean = false) { + fun getFullName(): String? { + var formattedName = vCard.formattedName?.value + if (formattedName.isNullOrEmpty()) { + val structured = vCard.structuredName + val given = structured?.given + val family = structured.family + formattedName = if (family != null) { + given?.plus(" ")?.plus(family) + } else { + given + } + } + return formattedName + } + fun getVCardProperties(context: Context): List { return vCard.properties .filter { displayedPropertyClasses.contains(it::class.java) }