2009-12-14 21:50:53 -05:00
|
|
|
package com.fsck.k9.mail;
|
2008-11-01 17:32:06 -04:00
|
|
|
|
2009-12-14 21:50:53 -05:00
|
|
|
import com.fsck.k9.Preferences;
|
Complete merge of DAmail functionality into K9mail. Following
features are added to K9mail:
1) Show unread message count on each folder
2) Sum unread count of all shown folders in an account to the account display
3) Periodically check selected folders for new mail, not just Inbox
4) Don't refresh folder when opened (unless folder is empty)
5) Show date and time of last sync for each folder
6) Fix timer for automatic periodic sync (use wakelock to assure completion)
7) Optimize local folder queries (speeds up account and folder lists)
8) Show Loading... message in status bar indicating which folder is being synced
9) Eliminate redundant sync of new messages (performance enhancement)
10) Improve notification text for multiple accounts
11) Do not automatically sync folders more often than the account-specific period
12) Use user-configured date and time formats
13) Select which folders are shown, using configurable Classes
14) Select which folders are synced, using configurable Classes
15) Added context (long press) menu to folders, to provide for Refresh
and Folder Settings
16) Status light flashes purple when there are unread messages
17) Folder list more quickly eliminates display of deleted and out-of-Class folders.
18) Delete works
19) Mark all messages as read (in the folder context menu)
20) Notifications only for new unread messages
21) One minute synchronization frequency
22) Deleting an unread message decrements unread counter
23) Notifications work for POP3 accounts
24) Message deletes work for POP3 accounts
25) Explicit errors show in folder list
26) Stack traces saved to folder K9mail-errors
27) Clear pending actions (danger, for emergencies only!)
28) Delete policy in Account settings
29) DNS cache in InetAddress disabled
30) Trapped some crash-causing error conditions
31) Eliminate duplicate copies to Sent folder
32) Prevent crashes due to message listener concurrency
33) Empty Trash
34) Nuclear "Mark all messages as read" (marks all messages as read in
server-side folder, irrespective of which messages have been downloaded)
35) Forward (alternate) to allow forwarding email through other programs
36) Accept text/plain Intents to allow other programs to send email through K9mail
37) Displays Outbox sending status
38) Manual retry of outbox sending when "Refresh"ing Outbox
39) Folder error status is persisted
40) Ability to log to arbitrary file
Fixes K9 issues 11, 23, 24, 65, 69, 71, 79, 81, 82, 83, 87, 101, 104,
107, 120, 148, 154
2008-12-30 22:49:09 -05:00
|
|
|
|
2008-11-01 17:32:06 -04:00
|
|
|
|
2009-11-24 19:40:29 -05:00
|
|
|
public abstract class Folder
|
|
|
|
{
|
|
|
|
private String status = null;
|
|
|
|
private long lastChecked = 0;
|
|
|
|
private long lastPush = 0;
|
|
|
|
public enum OpenMode
|
|
|
|
{
|
2008-11-01 17:32:06 -04:00
|
|
|
READ_WRITE, READ_ONLY,
|
|
|
|
}
|
2009-10-21 20:41:06 -04:00
|
|
|
// NONE is obsolete, it will be translated to NO_CLASS for display and to INHERITED for sync and push
|
2009-11-24 19:40:29 -05:00
|
|
|
public enum FolderClass
|
|
|
|
{
|
|
|
|
NONE, NO_CLASS, INHERITED, FIRST_CLASS, SECOND_CLASS;
|
Complete merge of DAmail functionality into K9mail. Following
features are added to K9mail:
1) Show unread message count on each folder
2) Sum unread count of all shown folders in an account to the account display
3) Periodically check selected folders for new mail, not just Inbox
4) Don't refresh folder when opened (unless folder is empty)
5) Show date and time of last sync for each folder
6) Fix timer for automatic periodic sync (use wakelock to assure completion)
7) Optimize local folder queries (speeds up account and folder lists)
8) Show Loading... message in status bar indicating which folder is being synced
9) Eliminate redundant sync of new messages (performance enhancement)
10) Improve notification text for multiple accounts
11) Do not automatically sync folders more often than the account-specific period
12) Use user-configured date and time formats
13) Select which folders are shown, using configurable Classes
14) Select which folders are synced, using configurable Classes
15) Added context (long press) menu to folders, to provide for Refresh
and Folder Settings
16) Status light flashes purple when there are unread messages
17) Folder list more quickly eliminates display of deleted and out-of-Class folders.
18) Delete works
19) Mark all messages as read (in the folder context menu)
20) Notifications only for new unread messages
21) One minute synchronization frequency
22) Deleting an unread message decrements unread counter
23) Notifications work for POP3 accounts
24) Message deletes work for POP3 accounts
25) Explicit errors show in folder list
26) Stack traces saved to folder K9mail-errors
27) Clear pending actions (danger, for emergencies only!)
28) Delete policy in Account settings
29) DNS cache in InetAddress disabled
30) Trapped some crash-causing error conditions
31) Eliminate duplicate copies to Sent folder
32) Prevent crashes due to message listener concurrency
33) Empty Trash
34) Nuclear "Mark all messages as read" (marks all messages as read in
server-side folder, irrespective of which messages have been downloaded)
35) Forward (alternate) to allow forwarding email through other programs
36) Accept text/plain Intents to allow other programs to send email through K9mail
37) Displays Outbox sending status
38) Manual retry of outbox sending when "Refresh"ing Outbox
39) Folder error status is persisted
40) Ability to log to arbitrary file
Fixes K9 issues 11, 23, 24, 65, 69, 71, 79, 81, 82, 83, 87, 101, 104,
107, 120, 148, 154
2008-12-30 22:49:09 -05:00
|
|
|
}
|
2009-11-24 19:40:29 -05:00
|
|
|
|
|
|
|
public enum FolderType
|
|
|
|
{
|
2008-11-01 17:32:06 -04:00
|
|
|
HOLDS_FOLDERS, HOLDS_MESSAGES,
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Forces an open of the MailProvider. If the provider is already open this
|
|
|
|
* function returns without doing anything.
|
|
|
|
*
|
|
|
|
* @param mode READ_ONLY or READ_WRITE
|
|
|
|
*/
|
|
|
|
public abstract void open(OpenMode mode) throws MessagingException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Forces a close of the MailProvider. Any further access will attempt to
|
|
|
|
* reopen the MailProvider.
|
|
|
|
*/
|
Implementation of complete IMAP two-phase "delete/expunge" behavior.
On each IMAP account, the expunge behavior can be set to expunge
messages in a folder as soon as a move or delete is performed on the
folder ("immediately"), each time the folder is polled, or only when
executed manually.
In the Message List, there is now an Expunge action in the option
menu.
In the Folder List, there is now an Expunge action in the context
menu (long-press on the folder).
For IMAP accounts, it is also possible to disable the copying of deleted messages to the
Trash folder, by setting the Trash folder to -NONE-.
Fixes Issue 536.
Separately, in WebDAV accounts, the user can now choose the
server-side equivalents of the special folders, just like for IMAP.
2009-12-20 18:13:49 -05:00
|
|
|
public abstract void close();
|
2008-11-01 17:32:06 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @return True if further commands are not expected to have to open the
|
|
|
|
* connection.
|
|
|
|
*/
|
|
|
|
public abstract boolean isOpen();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the mode the folder was opened with. This may be different than the mode the open
|
|
|
|
* was requested with.
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public abstract OpenMode getMode() throws MessagingException;
|
|
|
|
|
|
|
|
public abstract boolean create(FolderType type) throws MessagingException;
|
|
|
|
|
2008-12-11 00:25:59 -05:00
|
|
|
/**
|
2009-11-24 19:40:29 -05:00
|
|
|
* Create a new folder with a specified display limit. Not abstract to allow
|
2008-12-11 00:25:59 -05:00
|
|
|
* remote folders to not override or worry about this call if they don't care to.
|
|
|
|
*/
|
2009-11-24 19:40:29 -05:00
|
|
|
public boolean create(FolderType type, int displayLimit) throws MessagingException
|
|
|
|
{
|
2008-12-11 00:25:59 -05:00
|
|
|
return create(type);
|
|
|
|
}
|
|
|
|
|
2008-11-01 17:32:06 -04:00
|
|
|
public abstract boolean exists() throws MessagingException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return A count of the messages in the selected folder.
|
|
|
|
*/
|
|
|
|
public abstract int getMessageCount() throws MessagingException;
|
|
|
|
|
|
|
|
public abstract int getUnreadMessageCount() throws MessagingException;
|
|
|
|
|
|
|
|
public abstract Message getMessage(String uid) throws MessagingException;
|
|
|
|
|
|
|
|
public abstract Message[] getMessages(int start, int end, MessageRetrievalListener listener)
|
2009-11-24 19:40:29 -05:00
|
|
|
throws MessagingException;
|
2008-11-01 17:32:06 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Fetches the given list of messages. The specified listener is notified as
|
|
|
|
* each fetch completes. Messages are downloaded as (as) lightweight (as
|
|
|
|
* possible) objects to be filled in with later requests. In most cases this
|
|
|
|
* means that only the UID is downloaded.
|
|
|
|
*
|
|
|
|
* @param uids
|
|
|
|
* @param listener
|
|
|
|
*/
|
|
|
|
public abstract Message[] getMessages(MessageRetrievalListener listener)
|
2009-11-24 19:40:29 -05:00
|
|
|
throws MessagingException;
|
2009-11-17 11:54:50 -05:00
|
|
|
|
2009-11-24 19:40:29 -05:00
|
|
|
public Message[] getMessages(MessageRetrievalListener listener, boolean includeDeleted) throws MessagingException
|
|
|
|
{
|
|
|
|
return getMessages(listener);
|
2009-11-17 14:25:46 -05:00
|
|
|
}
|
2009-11-17 11:54:50 -05:00
|
|
|
|
2008-11-01 17:32:06 -04:00
|
|
|
public abstract Message[] getMessages(String[] uids, MessageRetrievalListener listener)
|
2009-11-24 19:40:29 -05:00
|
|
|
throws MessagingException;
|
2008-11-01 17:32:06 -04:00
|
|
|
|
|
|
|
public abstract void appendMessages(Message[] messages) throws MessagingException;
|
|
|
|
|
2009-03-05 02:32:45 -05:00
|
|
|
public void copyMessages(Message[] msgs, Folder folder) throws MessagingException {} ;
|
2009-11-24 19:40:29 -05:00
|
|
|
|
2009-03-05 02:32:45 -05:00
|
|
|
public void moveMessages(Message[] msgs, Folder folder) throws MessagingException {} ;
|
2009-12-06 19:56:06 -05:00
|
|
|
|
2009-11-29 13:07:34 -05:00
|
|
|
public void delete(Message[] msgs, String trashFolderName) throws MessagingException
|
|
|
|
{
|
|
|
|
for (Message message : msgs)
|
|
|
|
{
|
|
|
|
Message myMessage = getMessage(message.getUid());
|
|
|
|
myMessage.delete(trashFolderName);
|
|
|
|
}
|
|
|
|
}
|
2008-11-01 17:32:06 -04:00
|
|
|
|
|
|
|
public abstract void setFlags(Message[] messages, Flag[] flags, boolean value)
|
2009-11-24 19:40:29 -05:00
|
|
|
throws MessagingException;
|
|
|
|
|
|
|
|
public abstract void setFlags(Flag[] flags, boolean value) throws MessagingException;
|
Complete merge of DAmail functionality into K9mail. Following
features are added to K9mail:
1) Show unread message count on each folder
2) Sum unread count of all shown folders in an account to the account display
3) Periodically check selected folders for new mail, not just Inbox
4) Don't refresh folder when opened (unless folder is empty)
5) Show date and time of last sync for each folder
6) Fix timer for automatic periodic sync (use wakelock to assure completion)
7) Optimize local folder queries (speeds up account and folder lists)
8) Show Loading... message in status bar indicating which folder is being synced
9) Eliminate redundant sync of new messages (performance enhancement)
10) Improve notification text for multiple accounts
11) Do not automatically sync folders more often than the account-specific period
12) Use user-configured date and time formats
13) Select which folders are shown, using configurable Classes
14) Select which folders are synced, using configurable Classes
15) Added context (long press) menu to folders, to provide for Refresh
and Folder Settings
16) Status light flashes purple when there are unread messages
17) Folder list more quickly eliminates display of deleted and out-of-Class folders.
18) Delete works
19) Mark all messages as read (in the folder context menu)
20) Notifications only for new unread messages
21) One minute synchronization frequency
22) Deleting an unread message decrements unread counter
23) Notifications work for POP3 accounts
24) Message deletes work for POP3 accounts
25) Explicit errors show in folder list
26) Stack traces saved to folder K9mail-errors
27) Clear pending actions (danger, for emergencies only!)
28) Delete policy in Account settings
29) DNS cache in InetAddress disabled
30) Trapped some crash-causing error conditions
31) Eliminate duplicate copies to Sent folder
32) Prevent crashes due to message listener concurrency
33) Empty Trash
34) Nuclear "Mark all messages as read" (marks all messages as read in
server-side folder, irrespective of which messages have been downloaded)
35) Forward (alternate) to allow forwarding email through other programs
36) Accept text/plain Intents to allow other programs to send email through K9mail
37) Displays Outbox sending status
38) Manual retry of outbox sending when "Refresh"ing Outbox
39) Folder error status is persisted
40) Ability to log to arbitrary file
Fixes K9 issues 11, 23, 24, 65, 69, 71, 79, 81, 82, 83, 87, 101, 104,
107, 120, 148, 154
2008-12-30 22:49:09 -05:00
|
|
|
|
|
|
|
public abstract String getUidFromMessageId(Message message) throws MessagingException;
|
2008-11-01 17:32:06 -04:00
|
|
|
|
Implementation of complete IMAP two-phase "delete/expunge" behavior.
On each IMAP account, the expunge behavior can be set to expunge
messages in a folder as soon as a move or delete is performed on the
folder ("immediately"), each time the folder is polled, or only when
executed manually.
In the Message List, there is now an Expunge action in the option
menu.
In the Folder List, there is now an Expunge action in the context
menu (long-press on the folder).
For IMAP accounts, it is also possible to disable the copying of deleted messages to the
Trash folder, by setting the Trash folder to -NONE-.
Fixes Issue 536.
Separately, in WebDAV accounts, the user can now choose the
server-side equivalents of the special folders, just like for IMAP.
2009-12-20 18:13:49 -05:00
|
|
|
public void expunge() throws MessagingException
|
2010-01-02 20:50:51 -05:00
|
|
|
{}
|
2008-11-01 17:32:06 -04:00
|
|
|
|
|
|
|
public abstract void fetch(Message[] messages, FetchProfile fp,
|
2009-11-24 19:40:29 -05:00
|
|
|
MessageRetrievalListener listener) throws MessagingException;
|
2008-11-01 17:32:06 -04:00
|
|
|
|
|
|
|
public abstract void delete(boolean recurse) throws MessagingException;
|
|
|
|
|
|
|
|
public abstract String getName();
|
|
|
|
|
|
|
|
public abstract Flag[] getPermanentFlags() throws MessagingException;
|
2009-11-24 19:40:29 -05:00
|
|
|
|
2009-10-21 20:41:06 -04:00
|
|
|
/**
|
2009-11-24 19:40:29 -05:00
|
|
|
*
|
2009-10-21 20:41:06 -04:00
|
|
|
* @param oldPushState
|
|
|
|
* @param message
|
|
|
|
* @return empty string to clear the pushState, null to leave the state as-is
|
|
|
|
*/
|
|
|
|
public String getNewPushState(String oldPushState, Message message)
|
|
|
|
{
|
|
|
|
return null;
|
|
|
|
}
|
2008-11-01 17:32:06 -04:00
|
|
|
|
2009-11-24 19:40:29 -05:00
|
|
|
public boolean supportsFetchingFlags()
|
|
|
|
{
|
2008-12-14 01:18:24 -05:00
|
|
|
return true;
|
|
|
|
}//isFlagSupported
|
|
|
|
|
2008-11-01 17:32:06 -04:00
|
|
|
@Override
|
2009-11-24 19:40:29 -05:00
|
|
|
public String toString()
|
|
|
|
{
|
2008-11-01 17:32:06 -04:00
|
|
|
return getName();
|
|
|
|
}
|
Complete merge of DAmail functionality into K9mail. Following
features are added to K9mail:
1) Show unread message count on each folder
2) Sum unread count of all shown folders in an account to the account display
3) Periodically check selected folders for new mail, not just Inbox
4) Don't refresh folder when opened (unless folder is empty)
5) Show date and time of last sync for each folder
6) Fix timer for automatic periodic sync (use wakelock to assure completion)
7) Optimize local folder queries (speeds up account and folder lists)
8) Show Loading... message in status bar indicating which folder is being synced
9) Eliminate redundant sync of new messages (performance enhancement)
10) Improve notification text for multiple accounts
11) Do not automatically sync folders more often than the account-specific period
12) Use user-configured date and time formats
13) Select which folders are shown, using configurable Classes
14) Select which folders are synced, using configurable Classes
15) Added context (long press) menu to folders, to provide for Refresh
and Folder Settings
16) Status light flashes purple when there are unread messages
17) Folder list more quickly eliminates display of deleted and out-of-Class folders.
18) Delete works
19) Mark all messages as read (in the folder context menu)
20) Notifications only for new unread messages
21) One minute synchronization frequency
22) Deleting an unread message decrements unread counter
23) Notifications work for POP3 accounts
24) Message deletes work for POP3 accounts
25) Explicit errors show in folder list
26) Stack traces saved to folder K9mail-errors
27) Clear pending actions (danger, for emergencies only!)
28) Delete policy in Account settings
29) DNS cache in InetAddress disabled
30) Trapped some crash-causing error conditions
31) Eliminate duplicate copies to Sent folder
32) Prevent crashes due to message listener concurrency
33) Empty Trash
34) Nuclear "Mark all messages as read" (marks all messages as read in
server-side folder, irrespective of which messages have been downloaded)
35) Forward (alternate) to allow forwarding email through other programs
36) Accept text/plain Intents to allow other programs to send email through K9mail
37) Displays Outbox sending status
38) Manual retry of outbox sending when "Refresh"ing Outbox
39) Folder error status is persisted
40) Ability to log to arbitrary file
Fixes K9 issues 11, 23, 24, 65, 69, 71, 79, 81, 82, 83, 87, 101, 104,
107, 120, 148, 154
2008-12-30 22:49:09 -05:00
|
|
|
|
2009-11-24 19:40:29 -05:00
|
|
|
public long getLastChecked()
|
|
|
|
{
|
|
|
|
return lastChecked;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setLastChecked(long lastChecked) throws MessagingException
|
|
|
|
{
|
|
|
|
this.lastChecked = lastChecked;
|
|
|
|
}
|
|
|
|
|
|
|
|
public long getLastPush()
|
|
|
|
{
|
|
|
|
return lastPush;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setLastPush(long lastCheckedDisplay) throws MessagingException
|
|
|
|
{
|
|
|
|
this.lastPush = lastCheckedDisplay;
|
|
|
|
}
|
|
|
|
|
|
|
|
public long getLastUpdate()
|
|
|
|
{
|
|
|
|
return Math.max(getLastChecked(), getLastPush());
|
|
|
|
}
|
|
|
|
|
|
|
|
public FolderClass getDisplayClass()
|
|
|
|
{
|
|
|
|
return FolderClass.NO_CLASS;
|
|
|
|
}
|
|
|
|
|
|
|
|
public FolderClass getSyncClass()
|
|
|
|
{
|
|
|
|
return getDisplayClass();
|
|
|
|
}
|
|
|
|
public FolderClass getPushClass()
|
|
|
|
{
|
|
|
|
return getSyncClass();
|
|
|
|
}
|
|
|
|
|
Complete merge of DAmail functionality into K9mail. Following
features are added to K9mail:
1) Show unread message count on each folder
2) Sum unread count of all shown folders in an account to the account display
3) Periodically check selected folders for new mail, not just Inbox
4) Don't refresh folder when opened (unless folder is empty)
5) Show date and time of last sync for each folder
6) Fix timer for automatic periodic sync (use wakelock to assure completion)
7) Optimize local folder queries (speeds up account and folder lists)
8) Show Loading... message in status bar indicating which folder is being synced
9) Eliminate redundant sync of new messages (performance enhancement)
10) Improve notification text for multiple accounts
11) Do not automatically sync folders more often than the account-specific period
12) Use user-configured date and time formats
13) Select which folders are shown, using configurable Classes
14) Select which folders are synced, using configurable Classes
15) Added context (long press) menu to folders, to provide for Refresh
and Folder Settings
16) Status light flashes purple when there are unread messages
17) Folder list more quickly eliminates display of deleted and out-of-Class folders.
18) Delete works
19) Mark all messages as read (in the folder context menu)
20) Notifications only for new unread messages
21) One minute synchronization frequency
22) Deleting an unread message decrements unread counter
23) Notifications work for POP3 accounts
24) Message deletes work for POP3 accounts
25) Explicit errors show in folder list
26) Stack traces saved to folder K9mail-errors
27) Clear pending actions (danger, for emergencies only!)
28) Delete policy in Account settings
29) DNS cache in InetAddress disabled
30) Trapped some crash-causing error conditions
31) Eliminate duplicate copies to Sent folder
32) Prevent crashes due to message listener concurrency
33) Empty Trash
34) Nuclear "Mark all messages as read" (marks all messages as read in
server-side folder, irrespective of which messages have been downloaded)
35) Forward (alternate) to allow forwarding email through other programs
36) Accept text/plain Intents to allow other programs to send email through K9mail
37) Displays Outbox sending status
38) Manual retry of outbox sending when "Refresh"ing Outbox
39) Folder error status is persisted
40) Ability to log to arbitrary file
Fixes K9 issues 11, 23, 24, 65, 69, 71, 79, 81, 82, 83, 87, 101, 104,
107, 120, 148, 154
2008-12-30 22:49:09 -05:00
|
|
|
public void refresh(Preferences preferences) throws MessagingException
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2009-11-24 19:40:29 -05:00
|
|
|
public String getStatus()
|
|
|
|
{
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setStatus(String status) throws MessagingException
|
|
|
|
{
|
|
|
|
this.status = status;
|
|
|
|
}
|
Complete merge of DAmail functionality into K9mail. Following
features are added to K9mail:
1) Show unread message count on each folder
2) Sum unread count of all shown folders in an account to the account display
3) Periodically check selected folders for new mail, not just Inbox
4) Don't refresh folder when opened (unless folder is empty)
5) Show date and time of last sync for each folder
6) Fix timer for automatic periodic sync (use wakelock to assure completion)
7) Optimize local folder queries (speeds up account and folder lists)
8) Show Loading... message in status bar indicating which folder is being synced
9) Eliminate redundant sync of new messages (performance enhancement)
10) Improve notification text for multiple accounts
11) Do not automatically sync folders more often than the account-specific period
12) Use user-configured date and time formats
13) Select which folders are shown, using configurable Classes
14) Select which folders are synced, using configurable Classes
15) Added context (long press) menu to folders, to provide for Refresh
and Folder Settings
16) Status light flashes purple when there are unread messages
17) Folder list more quickly eliminates display of deleted and out-of-Class folders.
18) Delete works
19) Mark all messages as read (in the folder context menu)
20) Notifications only for new unread messages
21) One minute synchronization frequency
22) Deleting an unread message decrements unread counter
23) Notifications work for POP3 accounts
24) Message deletes work for POP3 accounts
25) Explicit errors show in folder list
26) Stack traces saved to folder K9mail-errors
27) Clear pending actions (danger, for emergencies only!)
28) Delete policy in Account settings
29) DNS cache in InetAddress disabled
30) Trapped some crash-causing error conditions
31) Eliminate duplicate copies to Sent folder
32) Prevent crashes due to message listener concurrency
33) Empty Trash
34) Nuclear "Mark all messages as read" (marks all messages as read in
server-side folder, irrespective of which messages have been downloaded)
35) Forward (alternate) to allow forwarding email through other programs
36) Accept text/plain Intents to allow other programs to send email through K9mail
37) Displays Outbox sending status
38) Manual retry of outbox sending when "Refresh"ing Outbox
39) Folder error status is persisted
40) Ability to log to arbitrary file
Fixes K9 issues 11, 23, 24, 65, 69, 71, 79, 81, 82, 83, 87, 101, 104,
107, 120, 148, 154
2008-12-30 22:49:09 -05:00
|
|
|
|
|
|
|
|
2008-11-01 17:32:06 -04:00
|
|
|
}
|