diff options
Diffstat (limited to 'src/main/java/eu/siacs/conversations/services/XmppConnectionService.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 21 |
1 files changed, 13 insertions, 8 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) { - long timestamp = getAutomaticMessageDeletionDate(); - if (timestamp > 0) { - databaseBackend.expireOldMessages(timestamp); - for (Conversation conversation : this.conversations) { - conversation.expireOldMessages(timestamp); + mDatabaseExecutor.execute(new Runnable() { + @Override + public void run() { + long timestamp = getAutomaticMessageDeletionDate(); + if (timestamp > 0) { + databaseBackend.expireOldMessages(timestamp); + synchronized (XmppConnectionService.this.conversations) { + for (Conversation conversation : XmppConnectionService.this.conversations) { + conversation.expireOldMessages(timestamp); + } + } + updateConversationUi(); } - updateConversationUi(); } - } + }); } public boolean hasInternetConnection() { |