From 4f809426bb35b808c617a28232735944c21c76d2 Mon Sep 17 00:00:00 2001 From: Naveen Date: Mon, 29 Aug 2022 04:16:45 +0530 Subject: [PATCH] Construct name from structured name --- .../smsmessenger/adapters/VCardViewerAdapter.kt | 2 +- .../smsmessenger/models/VCard.kt | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) 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) }