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 8e3125121ddee1cabad115729454c750a6913f53..b0838fa412728e4604e181c41fa03df3aac5b93c 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;