messenger-android

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

commit dde05fceb28884d4099253f93208eedcd499ea43
parent 06e6cbd74022b39b1fcacc308307363b9e4f14c7
Author: t3sserakt <t3ss@posteo.de>
Date:   Thu,  9 Apr 2026 17:06:20 +0200

get sender and group context fixing with server

Diffstat:
MGNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/MainActivity.kt | 3++-
MGNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatMessageDto.kt | 1+
MGNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/DtoMappers.kt | 11++++++++++-
3 files changed, 13 insertions(+), 2 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 @@ -220,7 +220,8 @@ class MainActivity : AppCompatActivity() { MessageKind.JOIN, MessageKind.LEAVE -> { var uuid = gnunetChat.getUserPointerForContext(chatContext) - val chatContact = gnunetChat.getSenderFromMessage(chatMessage) + val chatContact = chatMessage.sender + ?: gnunetChat.getSenderFromMessage(chatMessage) val contactName = if (chatContact.name.isNotBlank()) { chatContact.name } else { diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatMessageDto.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatMessageDto.kt @@ -9,6 +9,7 @@ data class ChatMessageDto( var text: String? = null, var timestamp: Long = 0L, var senderKey: String? = null, + var senderName: String? = null, var kind: Int = 0, var type: Int = -1, var userPointer: String? = null diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/DtoMappers.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/DtoMappers.kt @@ -39,11 +39,19 @@ fun ChatContextDto.toLocal(): ChatContext { fun ChatMessageDto.toLocal(ctx: ChatContext): ChatMessage { val kindEnum = MessageKind.fromCode(kind) val typeEnum = if (type < 0) null else ChatMessageType.fromCode(type) + val senderContact = if (!senderName.isNullOrEmpty() || !senderKey.isNullOrEmpty()) { + ChatContact( + chatContext = ChatContext(ChatContextType.CONTACT, null, false, false), + name = senderName ?: "" + ) + } else { + null + } return ChatMessage( chatContext = ctx, text = text ?: "", timestamp = timestamp, - sender = null, // senderKey kannst du später über ein Repo auflösen + sender = senderContact, kind = kindEnum, type = typeEnum ) @@ -89,6 +97,7 @@ fun ChatMessage.toDto(): ChatMessageDto = text = this@toDto.text timestamp = this@toDto.timestamp senderKey = "" // Sender key will be resolved by the server + senderName = this@toDto.sender?.name kind = this@toDto.kind.code type = this@toDto.type?.code ?: -1 }