1
0
mirror of https://github.com/moparisthebest/k-9 synced 2025-02-17 07:30:16 -05:00

Extract out the code to "load mesages from SQL" from inside our "load messages in this folder" code

This commit is contained in:
Jesse Vincent 2009-12-27 16:50:21 +00:00
parent 9796cb6487
commit 9bcc991ec8

View File

@ -1258,6 +1258,31 @@ public class LocalStore extends Store implements Serializable
@Override
public Message[] getMessages(MessageRetrievalListener listener, boolean includeDeleted) throws MessagingException
{
return getMessages(
listener,
"SELECT "
+ "FROM messages "
+ GET_MESSAGES_COLS
+ "WHERE "
+ (includeDeleted ? "" : "deleted = 0 AND ")
+ " folder_id = ? ORDER BY date DESC"
, new String[]
{
Long.toString(mFolderId)
}
);
}
/*
* Given a query string, actually do the query for the messages and
* call the MessageRetrievalListener for each one
*/
public Message[] getMessages(
MessageRetrievalListener listener,
String queryString, String[] placeHolders
) throws MessagingException
{
open(OpenMode.READ_WRITE);
ArrayList<LocalMessage> messages = new ArrayList<LocalMessage>();
@ -1265,17 +1290,7 @@ public class LocalStore extends Store implements Serializable
try
{
// pull out messages most recent first, since that's what the default sort is
cursor = mDb.rawQuery(
"SELECT subject, sender_list, date, uid, flags, id, to_list, cc_list, "
+ "bcc_list, reply_to_list, attachment_count, internal_date, message_id "
+ "FROM messages "
+ "WHERE "
+ (includeDeleted ? "" : "deleted = 0 AND ")
+ " folder_id = ? ORDER BY date DESC"
, new String[]
{
Long.toString(mFolderId)
});
cursor = mDb.rawQuery(queryString, placeHolders);
int i = 0;
@ -1306,8 +1321,10 @@ public class LocalStore extends Store implements Serializable
}
return messages.toArray(new Message[] {});
}
@Override
public Message[] getMessages(String[] uids, MessageRetrievalListener listener)
throws MessagingException
@ -1781,7 +1798,7 @@ public class LocalStore extends Store implements Serializable
{
throw new MessagingException("Cannot call getUidFromMessageId on LocalFolder");
}
public void deleteMessagesOlderThan(long cutoff) throws MessagingException
{
open(OpenMode.READ_ONLY);