Merge commit '85d718cb0735de9069673fbf9834fa64459c2178' into eclair-mr2
* commit '85d718cb0735de9069673fbf9834fa64459c2178':
MessageCompose: quote plain-text body if available, otherwise quote HTML body.
* MessageCompose now adds message-id to new messages (it was previously
done on its behalf by MimeMessage).
* LegacyConversions.updateMessageFields() now handles missing message-id
without error.
* Unit tests for the LegacyConversions change
These two issues were combining with a failure of comcast's SMTP server
to insert message-id headers, to prevent delivery of a message between
any two comcast accounts using this client.
Bug # http://b/issue?id=2161478
* If we are forced to abort a "ping" due to a watchdog alarm, we should
handle this as a ping failure (which potentially changes the heartbeat)
rather than a garden variety IOException.
* This prevents the additional overhead of connection error backoffs,
which would only tend to increase the time needed to recover from the
error.
* In one case reported by Moto, this appears to be the behavior of a WiFi
router with NAT timeout. This fix will cause maximum delay for pushed
mail to be reduced in most cases.
Change-Id: I2b0e3b10d82762d20f63cac3ac4638a03f13f842
* Older parsing code that didn't take into account the fact that
'flag' is a structured data item
* Requires Dr. No approval for Eclair_Sholes
Change-Id: Id1c0bc24e784b19c598d2b852975e135abebbdb0
* It has been reported that messages for a particular user are not
staying in sync re: deletions via PC
* This hasn't been reported elsewhere
* The new logging command logs the subject of deleted messages which
will help track down the problem
* I have also requested, and expect to receive, an account on the
Moto server in question to try to replicate the issue
Requesting Dr. No approval for this important change to user logging
code.
Change-Id: I13229d843ef828b54f3514bdded5a7561a87989a
* Unsafe (potentially stale) data was being written to the Mailbox table near
the end of each sync. It would effectively undo changes made to the
Mailbox in other threads that occurred while the Mailbox was syncing.
* In this particular case, changes to sync interval (push/ping/timed)
were being overwritten, which could cause push to get lost for as
long as 30 minutes (the pingLoop timeout when there aren't any
pingable mailboxes)
* Watchdog alarm was being set to wrong time (typo)
* Add extra user logging in case there are additional cases of push
* Only set sync status and time on successful sync
* Move ping error check into pingParser to avoid unnecessary sync
Change-Id: Icb4494078480ada39b7494b3abf380fb08858406
* Make sure service callbacks are installed
* Route from service sent-message callback to controller results
This sends the callback information back to listeners who care about
sent messages. Note, due to impedance mismatch between the service
and the controller, this should not be used for much more than an
indication that outbox status has changed.
Bug # 2158497
Change-Id: I8d013d97ef53dcca85216f9b8c027ba3917c1e85
* Removed obsolete "delete after 7 days" option from pop-up prefs
* Mark deleted message sentinels as "read" so they don't contribute
to unread counts.
Bug # 2157487 and Bug # 2159278
Change-Id: Ic3cbc51d6f5ede2eb923e2d0e5c0dfee377764f5
* Add AttachmentProvider.deleteAllMailboxAttachmentFiles
* Call it when server deletes a mailbox
* Confirmed (no change) all message deletes call deleteAllAttachmentFiles
* Unit tests of course :)
Bug # 2069004
Change-Id: I99731e6489fdca4cc9cebdff5fcf9c09d12b7b3a
* Catch onContentChanged and throttle calls to cursor.requery()
* Use 2.5s for now. This seems to provide excellent responsiveness
with little apparent latency.
* Also fixes#2135882
Change-Id: I9cab6558c9cfeb1dbdb5fb250f4f04059db324f7
* New menu items in MessageList
* Show/hide menu item if anything is checked
* Clear the selected items map, redraw listview, hide button panel
Bug # 2116257
This prevents these activities from ever repeating on the task stack.
Helps http://b/issue?id=2149204 (and may even fix it)
Change-Id: Idf8255b703094a78a2df3e9f535b67fd65faef32
BUG: 2149171
* Change the string of combined inbox
* Change the string of combined starred folder
* Change the icon for combined inbox
* Change the icon for combined starred folder
* Add "Accept all certificates" modes to incoming/outgoing secure choices
* Change URI scheme slightly to make "trust" a flag, not part of the
protocol.
* Change Stores to know about new URI scheme
* Slightly rework Transport API to make "trust" an independent flag
* Adapt HostAuth to handle new Uri scheme
* Remove the old ambiguous "optional" code, which was allowing
some unsigned certificates, but was *also* allowing TLS to
optionally start (though not SSL, despite the UI strings.)
* Add a few unit tests to EmailContent
* Add logging and a bunch of comments to TrustManagerFactory, and a bit
of simple cleanup to make it more readable.
* Add missing conversion of SSLException->CertificateValidationException
in TLS so we get the correct certificate errors from TLS too.
* Re-enable TLS for mac.com accounts (which had a certificate problem)
Fixes bug http://b/2119755, http://b/1374780, and probably a raft of
earlier and/or external bugs about certificate problems.
Change-Id: Iaf99a8da3eaadaa4cdeec224737838b5d6813e55
* Tighten up user logging
* Send all HttpClient commands w/ watchdog to prevent
holding wakelocks too long
* Fix case in which no ping boxes are ready in which
ping loop would hang on to WakeLock indefinitely
* Release WakeLock for waits < 10 seconds, rather than
30s in SyncManager
* Improve logging of IOExceptions
* Log network status (at least until #2150976 is fixed)
Change-Id: I020b8a21c2c4f536d5b6df871f6b5c03fdc66ab8
* We were setting the timeout and heartbeat to the same time,
which could cause mistaken timeouts
* Set timeout ten seconds after the heartbeat for now, and set
an alarm a few seconds after that
Change-Id: Ic2f7b44c9626ebbdd7a8821f53f7aaf6169f62c3
I don't know the root cause of the null pointer (possibly a broken
connection earlier in the sync) but we shouldn't be crashing here.
Fixes http://b/2135743
* This change trades off network time / overhead with time keeping
ContactsProvider2 busy
* The net effect will probably be to reduce some UI slowdowns while
syncing Exchange contacts, while increasing the time it takes to
sync those contacts
Change-Id: I56e2358698aa4c901cda4559f7a8f9117681f627
* After a HostAuth has been changed for an EAS account, the SyncManager needs
to be alerted so that it can take appropriate action
* Added hostChanged service call
* Send service call from AccountSetupExchange after a HostAuth is edited
* Stop running syncs and clear error states in hostChanged
Change-Id: I2311e2d00be81ea7829f5f4e38b2377f18c63f30
Bug 2136283.
Because of the mSourceMessageProcessed guard, the loading after a config change
was done exclusively by the default view hierarchy save/restore.
But this default view restore does not handle WebView content,
thus affecting the quoted text.
Fixes bug # 2148971
Note, this condition happens when we APPEND a message to the server
but then we turn around and query for it, and the server reports that
it's not there:
>>> 7 APPEND "Sent" {490}
<<< #null# [Ready, for, argument]
<<< #null# [194, EXISTS]
<<< #7# [OK, [APPENDUID, 1233339552, 1191], APPEND, completed]
>>> 8 UID SEARCH (HEADER MESSAGE-ID \
<pwyc0i5yviwvu5nwio2lwdo5.1254073239445@email.android.com>)
<<< #null# [SEARCH]
<<< #8# [OK, UID, SEARCH, completed]
>>> 9 UID SEARCH UID NULL
<<< #9# [BAD, UID, SEARCH, error;, bogus, or, incorrect, syntax, \
of, search, critera]
I don't know why the Yahoo! server did this, but now we'll at least not
crash if they do it again.
* Create logic to detect upsyncable messages in Sent
* Note: Drafts is now local only for IMAP - no sync, either way
* Rewrite MessageController.processPendingAppend for Provider world
* Write provider message -> legacy message converter
* Fixed bug in IMAP APPEND (it was not picking the right UID for the
uploaded message.)
* Better handling of server internaldate
* Add constants for new X-Android-Body-Quoted-Part header
* Add EmailContent routines to get each of the 5 parts of the body
* Remove "Load more" from unsynced message lists
* Add toString to MimeHeader for debug support
Bug # 2097471
TODO (next CL): Upload attachments records too
Change-Id: I209182f5adc6b6696919f559e3cbbdd58b3eed3a