MAM: rework hasMessagesLeft to account for prosody’s missing count

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/services/MessageArchiveService.java | 18 
1 file changed, 12 insertions(+), 6 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/services/MessageArchiveService.java 🔗

@@ -270,12 +270,18 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded {
 			query.getConversation().setFirstMamReference(first == null ? null : first.getContent());
 		}
 		if (complete || relevant == null || abort) {
-			boolean done = !query.isCatchup();
-			if (count != null && !query.isCatchup()) {
-				try {
-					done = Integer.parseInt(count) <= query.getTotalCount();
-				} catch (NumberFormatException e) {
-					done = false;
+			boolean done;
+			if (query.isCatchup()) {
+				done = false;
+			} else {
+				if (count != null) {
+					try {
+						done = Integer.parseInt(count) <= query.getTotalCount();
+					} catch (NumberFormatException e) {
+						done = false;
+					}
+				} else {
+					done = query.getTotalCount() == 0;
 				}
 			}
 			done = done || (query.getActualMessageCount() == 0 && !query.isCatchup());