From f45b48898fa0bf22e1d78f552b4e59c56d55eb86 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Fri, 1 Apr 2022 11:06:07 +0200 Subject: [PATCH] update emojis when system message arrived Signed-off-by: Marcel Hibbe --- .../java/com/nextcloud/talk/controllers/ChatController.kt | 6 +++++- .../com/nextcloud/talk/models/json/chat/ChatMessage.java | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt index 8fbd1d6d4..c7bd553e0 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -2345,7 +2345,7 @@ class ChatController(args: Bundle) : // setDeletionFlagsAndRemoveInfomessages if (isInfoMessageAboutDeletion(currentMessage)) { if (!chatMessageMap.containsKey(currentMessage.value.parentMessage.id)) { - // if chatMessageMap doesnt't contain message to delete (this happens when lookingIntoFuture), + // if chatMessageMap doesn't contain message to delete (this happens when lookingIntoFuture), // the message to delete has to be modified directly inside the adapter setMessageAsDeleted(currentMessage.value.parentMessage) } else { @@ -2356,6 +2356,10 @@ class ChatController(args: Bundle) : // delete reactions system messages else if (isReactionsMessage(currentMessage)) { + if (!chatMessageMap.containsKey(currentMessage.value.parentMessage.id)) { + adapter?.update(currentMessage.value.parentMessage) + } + chatMessageIterator.remove() } } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java index 4d1b2fcfe..509916262 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java @@ -291,7 +291,9 @@ public class ChatMessage implements MessageContentType, MessageContentType.Image @Override public String getAvatar() { - if (getActorType().equals("users")) { + if (getActiveUser() == null) { + return null; + } else if (getActorType().equals("users")) { return ApiUtils.getUrlForAvatar(getActiveUser().getBaseUrl(), actorId, true); } else if (getActorType().equals("bridged")) { return ApiUtils.getUrlForAvatar(getActiveUser().getBaseUrl(), "bridge-bot",