From b27ffcf502afa2d97753bf8f38df6798eb64471f Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Thu, 11 Jul 2013 16:09:52 -0400 Subject: [PATCH] Marking a message as read in the database is currently very expensive, especially if you have threading enabled. Defer that until _after_ telling listeners that they're cool to show the message --- src/com/fsck/k9/controller/MessagingController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/fsck/k9/controller/MessagingController.java b/src/com/fsck/k9/controller/MessagingController.java index a3c56562c..5ad6855a9 100644 --- a/src/com/fsck/k9/controller/MessagingController.java +++ b/src/com/fsck/k9/controller/MessagingController.java @@ -3117,7 +3117,6 @@ public class MessagingController implements Runnable { return; } - markMessageAsReadOnView(account, message); for (MessagingListener l : getListeners(listener)) { l.loadMessageForViewHeadersAvailable(account, folder, uid, message); @@ -3138,6 +3137,7 @@ public class MessagingController implements Runnable { for (MessagingListener l : getListeners(listener)) { l.loadMessageForViewFinished(account, folder, uid, message); } + markMessageAsReadOnView(account, message); } catch (Exception e) { for (MessagingListener l : getListeners(listener)) {