Merge commit '2ded414e99ec6e275865df6cc5d62b4b9c3e01be'
* commit '2ded414e99ec6e275865df6cc5d62b4b9c3e01be':
Sync "read" and "favorite" back to server.
* Add \FLAGGED support to IMAP (writeback)
* Add code in Controller to kick MessagingController
* Rewrite pending commands system to scan through provider's updated
messages table and react
* Fix a unit test that I broke
* Cleaned out some of the old PendingCommand support
Addresses the 2nd half (upsync) of bug 1904385
TODO:
Can I add a unit test for IMAP flag writer?
Change-Id: I5a96a695d4f35fca1395506f165b86d9fb19b543
* Put most of onDestroy code into the run method of SyncManager's thread
* Clean up code for updating Mailboxes' SyncKey and interval
* Fixes 2080472
Change-Id: Ie16c851a686142d9fd1d810a942aa786690b1034
* Don't create our EmailProvider Account until we get a confirmation from
AccountManager that the system Account is created
* Put up an erorr dialog if AccountManager fails for some reason (this is
what we saw in bug #2072668)
- fix bug 2080075, reply to message without text body.
- workaround bug 2077496 by temporarilly disabling the address adapter.
- unit test for MessageCompose.buildBodyText()
- use precompiled regex
Merge commit '2ac94a9cc254ff0a4c17407eb1bda31d433ef651'
* commit '2ac94a9cc254ff0a4c17407eb1bda31d433ef651':
Update Star and Read/Unread from IMAP server
* Set the star and the read/unread states properly when a
message is downloaded for the first time.
* Update them on already-downloaded messages.
This is download only - not upload
Bug 1904385
Change-Id: Id03a0957677bb39f4a57ed0542eaa8accc36ab48
BUG: 1904403
* Change the text of READ/UNREAD button dynamically according to the state of selection
* Change the text of favorite button dynamically according to the state of selection
* Final list of options while normal mailbox is shown
* New list of options while smart folder is shown
* Correct lists of context options for drafts, outbox, trash, and
everywhere else (full list)
* Enable reply, reply all, and forward
TODO: needs a better icon for menu->folders
Resolves bug 1904421 items 4a, 4b, 5a
Resolves bug 2078092
Merge commit '67be84728a05f969ae1306fc1fed21fb1a2a8526'
* commit '67be84728a05f969ae1306fc1fed21fb1a2a8526':
Update UI of accounts folder list and smart folders
Merge commit '68c3c7518e132bdbfd17a0b122fbe09c08e0acdc'
* commit '68c3c7518e132bdbfd17a0b122fbe09c08e0acdc':
Use LED for notification (same parameters as Gmail and GTalk services)
This happens in two primary cases:
1. When a very large POP message was skipped during initial sync
2. When any message was interrupted during initial sync, e.g. by
a dropped connection.
Changes:
* Added loadMessageForView and callbacks to Controller (and touched all
files with Controller listeners)
* Rewrote loadMessageForView in legacy MessagingController to work with
provider.
* Update flow in MessageView to use loadMessageForView when needed.
* Restored the use of "loading.html" and "empty.html" assets (although
I think we should replace them with simple layouts & views.)
* Some random cleanup in MessageView
Satisfies bug # 2065563
Merge commit 'aa69a174774699d452233f8ffece021f9851011e'
* commit 'aa69a174774699d452233f8ffece021f9851011e':
Add initial support for uploading new Contacts to Exchange server
* Refactor the sync adapters to separate out parsing from commit
* Use ContactsProvider to save the SyncKey for contacts
* Fixes#2072664 and #2072456
Change-Id: I1e85c498496e83d9523489636a75f366f7fbd106
Merge commit 'c9c5bd5665648950aeb9c05711a733f7cbd1f730'
* commit 'c9c5bd5665648950aeb9c05711a733f7cbd1f730':
DO NOT MERGE: Rewrite Base64InputStream from Eclair
Merge commit '421a4f5595163b16064049e20e823f45e0fd7ee9' into eclair
* commit '421a4f5595163b16064049e20e823f45e0fd7ee9':
DO NOT MERGE: Rewrite Base64InputStream from Eclair
Merge commit '4bc4fed47bec36b48203ae7dd6cd7e4727cfea70'
* commit '4bc4fed47bec36b48203ae7dd6cd7e4727cfea70':
Use new service command processing to avoid leaving the service running.
Rewrite Base64InputStream to be much more efficient
This was broken in many, many ways but the primary offender was an
object allocation for every 4 bytes of an input stream (imagine what this
did for 900k attachment files).
The new version is completely self-contained, and is optimized for the
most common case of inner loop case of processing 4-bytes-at-a-time.
The service still needs to schedule an alarm in its onStartCommand() so that
it will run in its next poll interval.
Change-Id: I66228ef573e84a5c7d33bcb07f4772626079b960