mirror of
https://github.com/moparisthebest/k-9
synced 2024-12-25 17:18:50 -05:00
Fixed issue 620
+ removed some dead code in the way Note: K9 crashed once over ~48hrs so we may need to rework how we use message listener in general
This commit is contained in:
parent
02e41e6da0
commit
3bb0d08855
@ -238,22 +238,6 @@ public class MessageList extends K9ListActivity {
|
||||
break;
|
||||
}
|
||||
|
||||
case MSG_SYNC_MESSAGES: {
|
||||
FolderInfoHolder folder = (FolderInfoHolder)((Object[]) msg.obj)[0];
|
||||
Message[] messages = (Message[])((Object[]) msg.obj)[1];
|
||||
|
||||
for(MessageInfoHolder message : mAdapter.messages) {
|
||||
message.dirty = true;
|
||||
}
|
||||
|
||||
for (Message message : messages) {
|
||||
mAdapter.addOrUpdateMessage(folder, message, true, false);
|
||||
mAdapter.notifyDataSetChanged();
|
||||
}
|
||||
mAdapter.removeDirtyMessages();
|
||||
break;
|
||||
}
|
||||
|
||||
case MSG_FOLDER_SYNCING: {
|
||||
String folderName = (String)((Object[]) msg.obj)[0];
|
||||
String dispString;
|
||||
@ -299,14 +283,6 @@ public class MessageList extends K9ListActivity {
|
||||
}
|
||||
}
|
||||
|
||||
public void synchronizeMessages(FolderInfoHolder folder, Message[] messages) {
|
||||
android.os.Message msg = new android.os.Message();
|
||||
msg.what = MSG_SYNC_MESSAGES;
|
||||
msg.obj = new Object[] { folder, messages };
|
||||
sendMessage(msg);
|
||||
}
|
||||
|
||||
|
||||
public void removeMessage(MessageInfoHolder message) {
|
||||
android.os.Message msg = new android.os.Message();
|
||||
msg.what = MSG_REMOVE_MESSAGE;
|
||||
@ -1187,7 +1163,7 @@ public class MessageList extends K9ListActivity {
|
||||
return;
|
||||
}
|
||||
|
||||
addOrUpdateMessage(folder, message, true, true);
|
||||
addOrUpdateMessage(folder, message, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1259,7 +1235,7 @@ public class MessageList extends K9ListActivity {
|
||||
return;
|
||||
}
|
||||
|
||||
addOrUpdateMessage(folder, message, false, false);//true, true);
|
||||
addOrUpdateMessage(folder, message, false);
|
||||
if (mAdapter.messages.size() % 10 == 0 ) {
|
||||
sortMessages();
|
||||
mHandler.dataChanged();
|
||||
@ -1273,7 +1249,7 @@ public class MessageList extends K9ListActivity {
|
||||
return;
|
||||
}
|
||||
|
||||
addOrUpdateMessage(folder, message, false, true);
|
||||
addOrUpdateMessage(folder, message, false);
|
||||
}
|
||||
|
||||
};
|
||||
@ -1287,17 +1263,6 @@ public class MessageList extends K9ListActivity {
|
||||
mAnsweredIcon = getResources().getDrawable( R.drawable.ic_mms_answered_small);
|
||||
}
|
||||
|
||||
public void removeDirtyMessages() {
|
||||
Iterator<MessageInfoHolder> iter = messages.iterator();
|
||||
while(iter.hasNext()) {
|
||||
MessageInfoHolder message = iter.next();
|
||||
if (message.dirty) {
|
||||
iter.remove();
|
||||
}
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void removeMessage(MessageInfoHolder holder) {
|
||||
if (holder == null) {
|
||||
return;
|
||||
@ -1314,29 +1279,21 @@ public class MessageList extends K9ListActivity {
|
||||
|
||||
}
|
||||
|
||||
public void synchronizeMessages(String folder, Message[] messages) {
|
||||
FolderInfoHolder f = getFolder(folder);
|
||||
|
||||
if (f == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
mHandler.synchronizeMessages(f, messages);
|
||||
}
|
||||
|
||||
public void addOrUpdateMessage(String folder, Message message) {
|
||||
addOrUpdateMessage(folder, message, true, true);
|
||||
addOrUpdateMessage(folder, message, true);
|
||||
}
|
||||
|
||||
private void addOrUpdateMessage(FolderInfoHolder folder, Message message, boolean sort, boolean notify) {
|
||||
private void addOrUpdateMessage(FolderInfoHolder folder, Message message, boolean sort) {
|
||||
|
||||
MessageInfoHolder m = getMessage( message.getUid());
|
||||
|
||||
boolean notify = false;
|
||||
if (m == null) {
|
||||
m = new MessageInfoHolder(message, folder);
|
||||
mAdapter.messages.add(m);
|
||||
notify = true;
|
||||
} else {
|
||||
m.populate(message, folder);
|
||||
notify = m.populate(message, folder);
|
||||
}
|
||||
|
||||
if (sort) {
|
||||
@ -1348,14 +1305,14 @@ public class MessageList extends K9ListActivity {
|
||||
}
|
||||
}
|
||||
|
||||
private void addOrUpdateMessage(String folder, Message message, boolean sort, boolean notify) {
|
||||
private void addOrUpdateMessage(String folder, Message message, boolean sort) {
|
||||
FolderInfoHolder f = getFolder(folder);
|
||||
|
||||
if (f == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
addOrUpdateMessage(f, message, sort, notify);
|
||||
addOrUpdateMessage(f, message, sort);
|
||||
}
|
||||
|
||||
// XXX TODO - make this not use a for loop
|
||||
@ -1551,8 +1508,6 @@ public class MessageList extends K9ListActivity {
|
||||
|
||||
public boolean read;
|
||||
|
||||
public boolean dirty;
|
||||
|
||||
public boolean answered;
|
||||
|
||||
public boolean flagged;
|
||||
@ -1573,16 +1528,18 @@ public class MessageList extends K9ListActivity {
|
||||
populate(m, folder);
|
||||
}
|
||||
|
||||
public void populate(Message m, FolderInfoHolder folder) {
|
||||
public boolean populate(Message m, FolderInfoHolder folder) {
|
||||
if (this.message!=null
|
||||
&& m.getInternalDate().equals(this.message.getInternalDate())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
LocalMessage message = (LocalMessage) m;
|
||||
Date date = message.getSentDate();
|
||||
this.compareDate = date;
|
||||
this.folder = folder;
|
||||
|
||||
this.dirty = false;
|
||||
|
||||
|
||||
if (Utility.isDateToday(date)) {
|
||||
this.date = getTimeFormat().format(date);
|
||||
} else {
|
||||
@ -1611,10 +1568,13 @@ public class MessageList extends K9ListActivity {
|
||||
|
||||
this.uid = message.getUid();
|
||||
this.message = m;
|
||||
|
||||
return true;
|
||||
} catch (MessagingException me) {
|
||||
if (Config.LOGV) {
|
||||
Log.v(Email.LOG_TAG, "Unable to load message info", me);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user