From 0b90da8b27a6fddb31f6430d12b1ae2693d991a6 Mon Sep 17 00:00:00 2001 From: Stas Safyanov Date: Wed, 15 Nov 2017 14:14:58 +0200 Subject: [PATCH] fixed unread counter --- .../communicator/data/models/mqtt/Roster.java | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/nynja/mobile/communicator/data/models/mqtt/Roster.java b/app/src/main/java/com/nynja/mobile/communicator/data/models/mqtt/Roster.java index 8e3125121d..b0838fa412 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/data/models/mqtt/Roster.java +++ b/app/src/main/java/com/nynja/mobile/communicator/data/models/mqtt/Roster.java @@ -125,15 +125,26 @@ public class Roster extends BaseParcelMQQT { Contact contact = getContactByChatId(messageId); if (contact != null) { contact.message = message; - if (message.from.equals(getRosterId())) { - contact.unread = 1L; - } else { + if (!message.from.equalsIgnoreCase(getRosterId())) { contact.unread = contact.unread == null ? 1L : ++contact.unread; } } return contact; } + public Room updateRoomLastMessage(Message message, boolean isInChat) { + for (Room room : roomlist) { + if (room.id.equals(((Muc) message.feed_id).name) && + !message.from.equalsIgnoreCase(getRosterId())) { + room.last_msg = message; + room.unread = room.unread == null ? 1L : + isInChat ? 0L : ++room.unread; + return room; + } + } + return null; + } + public Contact getOwnContact() { Contact contact = null; if (userlist != null) { @@ -148,19 +159,6 @@ public class Roster extends BaseParcelMQQT { return contact; } - public Room updateRoomLastMessage(Message message, boolean isInChat) { - for (Room room : roomlist) { - if (room.id.equals(((Muc) message.feed_id).name) && - !message.from.equalsIgnoreCase(getRosterId())) { - room.last_msg = message; - room.unread = room.unread == null ? 1L : - isInChat ? 0L : ++room.unread; - return room; - } - } - return null; - } - @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; -- GitLab