1) Automatically add / separators if not supplied by user. Fixes
Issue 290
2) Enable Move and Copy.
3) Enable setting a message to unread state.
4) Set authentication header for downloading and sending messages, so
that those functions work with sites using Basic authentication.
5) Don't swallow log Exceptions. Instead, allow Exceptions to
percolate up to higher levels so that they can be logged into
K9mail-errors.
6) Provide appendMessages function, so that Drafts get stored on the
server.
7) Enable server-side message deletion, using user-selected Trash
folder.
This commit contains the entirety of the changes performed in the
issue4-1.X branch from revision 718 through revision 851. Because the
issue4-1.X branch was up-to-date with trunk revision 847 at revision
849, the source of this commit was not an "svn merge". Instead, it is
merely a copy of all changed files from the issue4-1.X branch to my
trunk working copy and a straight commit.
Also:
Issue 551
Issue 628
Issue 650
Issue 654
Issue 656
Issue 682
Issue 696
. Free up memory as we go in MessagingController.synchronizeMailboxSynchronous()
. IMAP: We only do a partial fetch of the text body of large messages during background sync. This allow for faster syncs and avoid expensive parsing that lead to OutOfMemoryError
3.
Each remote Store (IMAP, POP3, WebDAV) can provide indications to the
higher level classes as to whether copy and move are implemented.
Currently, copy and move are only provided by ImapStore.java. When
the facilities are not available, the user interface suppresses the
menu options.
The available destination folders can be configured using folder
classes.
Copy results in null message bodies in the destination copy of the
message until the next sync. This is a problem that occurred with
deletes previously, and is likely a fault with the copyMessages method
of LocalStore.java.
Utilizes a modified version of the ChooseFolder.java Activity that
debuachedsloth contributed in a patch attached to Issue 285 on 16 Feb
2008.