diff --git a/src/com/fsck/k9/activity/MessageList.java b/src/com/fsck/k9/activity/MessageList.java index cd56b70b6..5ce7e00c4 100644 --- a/src/com/fsck/k9/activity/MessageList.java +++ b/src/com/fsck/k9/activity/MessageList.java @@ -2983,45 +2983,58 @@ public class MessageList private void toggleBatchButtons() { - if (mSelectedCount < 0) - { - mSelectedCount = 0; - } - int readButtonIconId; - int flagButtonIconId; + runOnUiThread(new Runnable() + { + @Override + public void run() + { + + if (mSelectedCount < 0) + { + mSelectedCount = 0; + } + + int readButtonIconId; + int flagButtonIconId; + + if (mSelectedCount==0) + { + readButtonIconId = R.drawable.ic_button_mark_read; + flagButtonIconId = R.drawable.ic_button_flag; + hideBatchButtons(); + } + else + { + boolean newReadState = computeBatchDirection(false); + if (newReadState) + { + readButtonIconId = R.drawable.ic_button_mark_read; + } + else + { + readButtonIconId = R.drawable.ic_button_mark_unread; + } + boolean newFlagState = computeBatchDirection(true); + if (newFlagState) + { + flagButtonIconId = R.drawable.ic_button_flag; + } + else + { + flagButtonIconId = R.drawable.ic_button_unflag; + } + showBatchButtons(); + } + + mBatchReadButton.setImageResource(readButtonIconId); + mBatchFlagButton.setImageResource(flagButtonIconId); + + + } + }); - if (mSelectedCount==0) - { - readButtonIconId = R.drawable.ic_button_mark_read; - flagButtonIconId = R.drawable.ic_button_flag; - hideBatchButtons(); - } - else - { - boolean newReadState = computeBatchDirection(false); - if (newReadState) - { - readButtonIconId = R.drawable.ic_button_mark_read; - } - else - { - readButtonIconId = R.drawable.ic_button_mark_unread; - } - boolean newFlagState = computeBatchDirection(true); - if (newFlagState) - { - flagButtonIconId = R.drawable.ic_button_flag; - } - else - { - flagButtonIconId = R.drawable.ic_button_unflag; - } - showBatchButtons(); - } - mBatchReadButton.setImageResource(readButtonIconId); - mBatchFlagButton.setImageResource(flagButtonIconId); } class FooterViewHolder