diff options
Diffstat (limited to 'src/main/java/eu/siacs/conversations/services')
-rw-r--r-- | src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index 7b4f7c3f..9005d8c3 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -934,16 +934,21 @@ public class XmppConnectionService extends Service { private void expireOldMessages() { mLastExpiryRun.set(SystemClock.elapsedRealtime()); - synchronized (this.conversations) { + mDatabaseExecutor.execute(new Runnable() { + @Override + public void run() { long timestamp = getAutomaticMessageDeletionDate(); if (timestamp > 0) { databaseBackend.expireOldMessages(timestamp); - for (Conversation conversation : this.conversations) { + synchronized (XmppConnectionService.this.conversations) { + for (Conversation conversation : XmppConnectionService.this.conversations) { conversation.expireOldMessages(timestamp); } + } updateConversationUi(); } } + }); } public boolean hasInternetConnection() { |