From cbcdb11b5681c8c5d324acea16b1af04968b2843 Mon Sep 17 00:00:00 2001
From: ialokim <ialokim@mailbox.org>
Date: Mon, 29 Nov 2021 16:36:22 +0100
Subject: [PATCH] factor display name logic out for reuse

---
 .../org/briarproject/briar/desktop/contact/ContactItem.kt  | 3 ++-
 .../briar/desktop/conversation/ConversationVisitor.kt      | 7 +++----
 .../kotlin/org/briarproject/briar/desktop/utils/UiUtils.kt | 6 ++++++
 3 files changed, 11 insertions(+), 5 deletions(-)
 create mode 100644 src/main/kotlin/org/briarproject/briar/desktop/utils/UiUtils.kt

diff --git a/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactItem.kt b/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactItem.kt
index 5bf4b8e6f8..f9a914ec77 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactItem.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactItem.kt
@@ -3,6 +3,7 @@ package org.briarproject.briar.desktop.contact
 import org.briarproject.bramble.api.contact.Contact
 import org.briarproject.bramble.api.identity.AuthorId
 import org.briarproject.briar.api.client.MessageTracker
+import org.briarproject.briar.desktop.utils.UiUtils.getContactDisplayName
 import kotlin.math.max
 
 data class ContactItem(
@@ -16,7 +17,7 @@ data class ContactItem(
     override val timestamp: Long
 ) : BaseContactItem {
 
-    override val displayName = if (alias == null) name else "$alias ($name)"
+    override val displayName = getContactDisplayName(name, alias)
 
     constructor(contact: Contact, isConnected: Boolean, groupCount: MessageTracker.GroupCount) : this(
         idWrapper = RealContactIdWrapper(contact.id),
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationVisitor.kt b/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationVisitor.kt
index a17f736652..6ea0b61aee 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationVisitor.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationVisitor.kt
@@ -15,6 +15,7 @@ import org.briarproject.briar.api.messaging.PrivateMessageHeader
 import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest
 import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse
 import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18nF
+import org.briarproject.briar.desktop.utils.UiUtils.getContactDisplayName
 
 internal class ConversationVisitor(
     private val contactName: String,
@@ -143,8 +144,7 @@ internal class ConversationVisitor(
     }
 
     override fun visitIntroductionRequest(r: IntroductionRequest): ConversationItem {
-        // todo: use displayName logic somehow?
-        val name = r.nameable.name
+        val name = getContactDisplayName(r.nameable.name, r.alias)
         return if (r.isLocal)
             ConversationNoticeItem(
                 i18nF("introduction_request_sent", contactName, name),
@@ -167,8 +167,7 @@ internal class ConversationVisitor(
     }
 
     override fun visitIntroductionResponse(r: IntroductionResponse): ConversationItem {
-        // todo: use displayName logic somehow?
-        val name = r.introducedAuthor.name
+        val name = getContactDisplayName(r.introducedAuthor.name, r.introducedAuthorInfo.alias)
         return if (r.isLocal) {
             val text = when {
                 r.wasAccepted() -> {
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/utils/UiUtils.kt b/src/main/kotlin/org/briarproject/briar/desktop/utils/UiUtils.kt
new file mode 100644
index 0000000000..53d5b339c1
--- /dev/null
+++ b/src/main/kotlin/org/briarproject/briar/desktop/utils/UiUtils.kt
@@ -0,0 +1,6 @@
+package org.briarproject.briar.desktop.utils
+
+object UiUtils {
+    fun getContactDisplayName(name: String, alias: String?) =
+        if (alias == null) name else "$alias ($name)"
+}
-- 
GitLab