Be more careful about deleting messages from the MessageListAdapter -

don't do it from something that's not the UI thread
This commit is contained in:
Jesse Vincent 2010-11-10 21:12:42 +00:00
parent f14bd1468e
commit 83955d3278
1 changed files with 12 additions and 9 deletions

View File

@ -2288,20 +2288,23 @@ public class MessageList
}
public void pruneDirtyMessages()
{
Iterator<MessageInfoHolder> iter = mAdapter.messages.iterator();
while (iter.hasNext())
synchronized (mAdapter.messages)
{
MessageInfoHolder holder = iter.next();
if (holder.dirty)
Iterator<MessageInfoHolder> iter = mAdapter.messages.iterator();
while (iter.hasNext())
{
if (holder.selected)
MessageInfoHolder holder = iter.next();
if (holder.dirty)
{
mSelectedCount--;
toggleBatchButtons();
if (holder.selected)
{
mSelectedCount--;
toggleBatchButtons();
}
mAdapter.removeMessage(holder);
}
iter.remove();
}
}
}
}
public void removeMessages(List<MessageInfoHolder> holders)