aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/entities/Conversation.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/entities/Conversation.java')
-rw-r--r--src/main/java/eu/siacs/conversations/entities/Conversation.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java
index fa74c418..c686a676 100644
--- a/src/main/java/eu/siacs/conversations/entities/Conversation.java
+++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java
@@ -20,6 +20,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
+import java.util.ListIterator;
import java.util.Locale;
import eu.siacs.conversations.Config;
@@ -930,6 +931,17 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl
account.getPgpDecryptionService().decrypt(messages);
}
+ public void expireOldMessages(long timestamp) {
+ synchronized (this.messages) {
+ for(ListIterator<Message> iterator = this.messages.listIterator(); iterator.hasNext();) {
+ if (iterator.next().getTimeSent() < timestamp) {
+ iterator.remove();
+ }
+ }
+ untieMessages();
+ }
+ }
+
public void sort() {
synchronized (this.messages) {
Collections.sort(this.messages, new Comparator<Message>() {