avoid unnessary muc mam queries when message count is 0 after subject

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/entities/Conversation.java | 6 +++
src/main/java/eu/siacs/conversations/parser/MessageParser.java  | 2 
2 files changed, 7 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/Conversation.java 🔗

@@ -249,6 +249,12 @@ public class Conversation extends AbstractEntity implements Blockable {
 		this.mLastReceivedOtrMessageId = id;
 	}
 
+	public int countMessages() {
+		synchronized (this.messages) {
+			return this.messages.size();
+		}
+	}
+
 
 	public interface OnMessageFound {
 		public void onMessageFound(final Message message);

src/main/java/eu/siacs/conversations/parser/MessageParser.java 🔗

@@ -367,7 +367,7 @@ public class MessageParser extends AbstractParser implements
 			if (packet.hasChild("subject") && isTypeGroupChat) {
 				Conversation conversation = mXmppConnectionService.find(account, from.toBareJid());
 				if (conversation != null && conversation.getMode() == Conversation.MODE_MULTI) {
-					conversation.setHasMessagesLeftOnServer(true);
+					conversation.setHasMessagesLeftOnServer(conversation.countMessages() > 0);
 					conversation.getMucOptions().setSubject(packet.findChildContent("subject"));
 					mXmppConnectionService.updateConversationUi();
 					return;