messenger-android

Android graphical user interfaces for GNUnet Messenger
Log | Files | Refs | README | LICENSE

commit f809d06b3e72720af5d2b9973968a80d43f9b8cb
parent d93a8e24593144c103258608fb824838e8464563
Author: t3sserakt <t3ss@posteo.de>
Date:   Wed,  8 Apr 2026 13:38:29 +0200

group overview text in chat overview

Diffstat:
MGNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/MainActivity.kt | 39+++++++++++++++++++++++++++++++--------
1 file changed, 31 insertions(+), 8 deletions(-)

diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/MainActivity.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/MainActivity.kt @@ -221,10 +221,15 @@ class MainActivity : AppCompatActivity() { MessageKind.LEAVE -> { var uuid = gnunetChat.getUserPointerForContext(chatContext) val chatContact = gnunetChat.getSenderFromMessage(chatMessage) + val contactName = if (chatContact.name.isNotBlank()) { + chatContact.name + } else { + "A user" + } val lastMessagePreview = if (chatMessage.kind == MessageKind.JOIN) { - "${chatContact.name} joined the chat" + "$contactName joined the chat" } else { - "${chatContact.name} left the chat" + "$contactName left the chat" } val viewModel = getChatViewModel(chatContext) @@ -245,7 +250,7 @@ class MainActivity : AppCompatActivity() { chatContext.userPointer = uuid chats[uuid] = chatContext chatOverviewViewModel.addOrUpdateChat( - ChatSummary(chatContext, chatContact.name, lastMessagePreview) + ChatSummary(chatContext, contactName, lastMessagePreview) ) } else { chatContext.userPointer = uuid @@ -254,7 +259,11 @@ class MainActivity : AppCompatActivity() { } val displayContext = chats[uuid] ?: chatContext val group = gnunetChat.getGroupFromContext(chatContext) - val displayName = group?.name ?: chatContact.name + val displayName = if (group != null && group.name.isNotBlank()) { + group.name + } else { + contactName + } chatOverviewViewModel.addOrUpdateChat( ChatSummary(displayContext, displayName, lastMessagePreview) @@ -363,10 +372,16 @@ class MainActivity : AppCompatActivity() { chats[uuid] = chatContext contact.blocked = gnunetChat.isContactBlocked(contact) + val contactDisplayName = if (contact.name.isNotBlank()) { + contact.name + } else { + val key = gnunetChat.getContactKey(contact) + if (key.isNotBlank()) "Contact (${key.take(8)}...)" else "Unknown contact" + } summaries.add( ChatSummary( chatContext = chatContext, - displayName = contact.name, + displayName = contactDisplayName, contact = contact ) ) @@ -390,16 +405,24 @@ class MainActivity : AppCompatActivity() { Log.w(TAG, "listGroupContacts failed for ${group.name}", t) emptyList() } - val memberPreview = if (members.isNotEmpty()) { - members.joinToString(", ") { it.name } + " joined the chat" + val namedMembers = members.filter { it.name.isNotBlank() } + val memberPreview = if (namedMembers.isNotEmpty()) { + namedMembers.joinToString(", ") { it.name } + " joined the chat" + } else if (members.isNotEmpty()) { + "${members.size} member(s) in the chat" } else { null } + val groupDisplayName = if (group.name.isNotBlank()) { + group.name + } else { + "Lobby" + } summaries.add( ChatSummary( chatContext = chatContext, - displayName = group.name, + displayName = groupDisplayName, lastMessagePreview = memberPreview, group = group )