diff --git a/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt b/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt index 11fb8e4497..efe3ea6f43 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt @@ -687,7 +687,8 @@ class OfflineFirstChatRepository @Inject constructor( when (messageJson.systemMessageType) { ChatMessage.SystemMessageType.REACTION, ChatMessage.SystemMessageType.REACTION_REVOKED, - ChatMessage.SystemMessageType.REACTION_DELETED, + ChatMessage.SystemMessageType.REACTION_DELETED -> { + } ChatMessage.SystemMessageType.MESSAGE_DELETED, ChatMessage.SystemMessageType.POLL_VOTED, ChatMessage.SystemMessageType.MESSAGE_EDITED -> { diff --git a/app/src/main/java/com/nextcloud/talk/repositories/reactions/ReactionsRepositoryImpl.kt b/app/src/main/java/com/nextcloud/talk/repositories/reactions/ReactionsRepositoryImpl.kt index 2fe25bd342..11963d444a 100644 --- a/app/src/main/java/com/nextcloud/talk/repositories/reactions/ReactionsRepositoryImpl.kt +++ b/app/src/main/java/com/nextcloud/talk/repositories/reactions/ReactionsRepositoryImpl.kt @@ -144,11 +144,13 @@ class ReactionsRepositoryImpl @Inject constructor(private val ncApi: NcApi, priv message.reactionsSelf = ArrayList() } - var amount = message.reactions!![emoji] - if (amount == null) { - amount = 0 + val currentEmojiCount = message.reactions!![emoji] ?: 0 + val newEmojiCount = currentEmojiCount - 1 + if (newEmojiCount <= 0) { + message.reactions!!.remove(emoji) + } else { + message.reactions!![emoji] = newEmojiCount } - message.reactions!![emoji] = amount - 1 message.reactionsSelf!!.remove(emoji) // 3. Call DAO again, to update the singular ChatMessageEntity with params