* Message, etc. could be added, if this had a use case
* Unit test added for both Account and Mailbox cases
* Eclipse changed some parens around; it won't happen again
* Change API for callback to include message subject (when msg is isn't valid)
* Update users of callback to add the new argument
* Use API in EasOutboxService to send status messages back to the UI
Still TODO: Add relevant error codes for sending problems that are not related
to connection or login issues
* Add code to (optionally) add footer, update text & progress dynamically
* Add hook to dispatch various actions (refresh, load more, etc.)
* Some cleanup of the launch helpers for MessageList
TODO:
* controller handler for the "send messages" case (subsequent CL)
* controller handler for the "more messages" case (subsequent CL)
* reporting of send results etc. into the status line
* Handle messages >25k
* When structure is available (e.g. IMAP) pull in the entire body
and the list of attachments
* When structure is not available (e.g. POP) pull in a large chunk of
the body to try and capture the message body at least.
* Implement loadAttachment for IMAP/POP to demand download large items
* Tested with IMAP & POP messages
INCOMPLETE (file bugs):
* implement logic for the old loadMessageForView calls that comes from
MessageView (when you open a message that's partially-loaded)
* Resolve handling of mimetype when attachment info is read (currently
we're assuming base64 in a couple of places)
* delete account => delete attachments
* delete attachment => delete file
* create account => clear existing attachments for acct id
* Use the new account-based field for number of new messages
* Add support for async notifications in MailService
* Change EAS to call MailService to notify user
* Reset DB version to "1"
* Added field and support code (save, restore, & parcel)
* Added forgotten mProtocolVersion to parcelable code
* Added unit test for parceling
Also, fixed race condition in SyncManager that was underlocking the
wake locks during tests.
* Rewrite service logic to select and update one account at a time
* Add checkmail API to Controller, and much rework/cleanup of existing
callback API's
* Rewrite notification posting code
* Rewire connection to MessageList to be opened by notifications, to
cancel notifications, and to reset the "new message" count whenever
an account is viewed.
* Boilerplate cleanup to a lot of activities because they share the
callbacks that have had minor changes.
* Remove old push controls from Store API
In progress:
* To provide notification mechanism for EAS pushed mail
- plus unit tests.
- and some attachment refactoring.
- move PROJECTION_ID up to EmailContent.
- add index on messageKey to Attachments and Body tables.
- add missing Columns.ID field in EmailContent.
* Change Sender definition (remove old Message from API) and update
any existing calls through that API
* Rewrite SMTPSender to use provider messages
* Add attachments to RFC822Output
* Minor bugfixes in RFC822Output
* Unit tests