* Addresses #2287439 incompletely
* The most likely reason for a reply/forward to get stuck in the Outbox
is that the referenced message has been deleted from the client, with
the deletion occuring BEFORE the message gets sent (currently, the two
are completely independent)
* This change causes deletes NOT to be sent to the server if the message
to be deleted is referenced by an outgoing message
Change-Id: I146f63ab345c07e684790e1d7d1fc08870468bbf
* Addresses #2226426
* If the user deletes Email data, or if data corruption causes
EmailProvider.db to be deleted, we will be in an inconsistent
state with any existing Exchange accounts, since the AccountManager
will still know about them, contacts (and eventually calendar) items will
continue to exist, etc.
* Run an integrity check when the provider is created, deleting any
orphaned EmailProvider.db or EmailProviderBody.db
* Catch SQLiteException's in the Provider and do an integrity check
if any is caught
Change-Id: I47d523b90a6b8f71ba8e13fba4b04846b3da1b1d
Merge commit 'fdfdd73cebd29806e1512f03d6d6ff2a349b10ac' into eclair-mr2
* commit 'fdfdd73cebd29806e1512f03d6d6ff2a349b10ac':
DO NOT MERGE. Improve colors of read/unread messages.
Backport of 47da97527b547da97527b5bbecba972e0c6a5d382cd7b0768e9.
Original comment:
Improve visible difference between read and unread messages
BUG: 2168155
turns out the change I submitted before is not required at all. I mistakenly
assumed sqlite wouldn't be able to handle it. but tested it with the latest
version of sqlite 3.6.20. the old style triggers work fine.
* When a mailbox sync is stopped intentionally (for example, if account
settings change), we report a connection error by mistake
* Handle this case properly, reporting "success" (i.e. no error state)
* Remove obsolete comment
Change-Id: I9bec1244267cd2240c369b9b7f905948381a0f91
This removes the word "account" to eliminate the need for translation and to simplify
the use of overlays for vendors that need to customize these strings.
Merge commit '5905791775e7e431135bda21969b9e5efd24de62' into eclair-mr2
* commit '5905791775e7e431135bda21969b9e5efd24de62':
Import revised translations. DO NOT MERGE
Merge commit 'ddc69f42482cf991562052c24d95a018fbce8c61' into eclair-mr2
* commit 'ddc69f42482cf991562052c24d95a018fbce8c61':
Import revised translations. DO NOT MERGE
Merge commit 'd457c744cde468c3bd9b92f28a140379c714f540' into eclair-mr2
* commit 'd457c744cde468c3bd9b92f28a140379c714f540':
Fix improper constant to allow retry for sending Exchange mail
* Related to MR1 triaged bug 2274389 in which mail was stuck in the
Outbox and wouldn't send
* It turns out an improper constant was being used in the SQL code
for turning off the "error" state flag
Change-Id: Ic1a2e5b9dd34ec3f9d7da0b3d2cd63d77bb7681e
* The "send outgoing messages" button doesn't work in the combined
inbox (the case wasn't handled)
* Add code to loop through accounts, calling the Controller for each
in this case
* Fixes (partially or completely) #2274389
Change-Id: I94e984247d43f93a4d6546b8c10f6ce149b091be
* When settings are changed, we loop through the sync error map,
clearing mailboxes in the changed account that are in an error
state.
* It's possible that there are mailboxes referenced in the map that
no longer exist. When trying to retrieve them from the provider,
null is returned, but we're not checking for this case, and an
NPE results.
* The fix is simply to check for null, and clear the error map for
the mailboxId that references a deleted mailbox
Change-Id: I8c1c847090026fa1c53b09bbe6b12d864bce4df1
Merge commit '743b143d0e06c7d3b8d8a28e9da3959649a2977c' into eclair-mr2
* commit '743b143d0e06c7d3b8d8a28e9da3959649a2977c':
Import revised translations. DO NOT MERGE
Merge commit 'bf67508d167339f303f2b9985516af3aa01aee51' into eclair-mr2
* commit 'bf67508d167339f303f2b9985516af3aa01aee51':
Import revised translations. DO NOT MERGE
* Currently, we validate EAS accounts using a command that will
succeed even if we do not support required security policies.
* This causes a confusing "invalid username or password" error
when trying to sync with a validated account in the case that
there are, in fact, required policies
* The fix is to send a sync command after validating the user name
and password; a 403 error indicates the requirement for
security policies.
* When we see the 403 error, we put up a message that is appropriate
to the situation.
Change-Id: I74e132cb81f021cbb697cc9ee146405bf3ebc0ba
* Currently, we validate EAS accounts using a command that will
succeed even if we do not support required security policies.
* This causes a confusing "invalid username or password" error
when trying to sync with a validated account in the case that
there are, in fact, required policies
* The fix is to send a sync command after validating the user name
and password; a 403 error indicates the requirement for
security policies.
* When we see the 403 error, we put up a message that is appropriate
to the situation.
Change-Id: Ic40820253dca1f357297b2355ad987bc39d0775f
Merge commit '151ebde5d1135ca7b50ffd97df14cda5d3282477' into eclair-mr2
* commit '151ebde5d1135ca7b50ffd97df14cda5d3282477':
Allow sync data via the chunked transfer encoding DO NOT MERGE
* Fixes#2216885
* The bug is that the sync adapters weren't set up to handle chunked
encoding, primarily because 1) I hadn't seen any servers use it, and
2) when we changed from HttpUrlConnection to HttpClient, support for
chunked wasn't added (HttpUrlConnection didn't support it)
* The fix for xml data is trivial, since the Content-Length returned in
the chunked case (-1) was being disallowed, but works perfectly well
with HttpClient.
* The fix for attachments is less trivial, but still straightforward.
* With this change, we are no longer dependent on receiving content-length,
which is highly desirable
Change-Id: I8d46790e41eaeee2887c8a207006c5d6786498ed
* The prior fix prevented looping in the case that a new sync key wasn't
received.
* Unfortunately, the prior fix tested for the looping condition (moreAvailable)
before it would have been set.
* The correct fix is to detect the looping condition after both the sync key
and the moreAvailable flag are guaranteed to have been set
Change-Id: I2eee4ddc123fb2a5ce4ef3bd4e7d0614fcfbdf36
Merge commit '1b21ad4d4b548784b6974696551c880b1c2eae9d' into eclair-mr2
* commit '1b21ad4d4b548784b6974696551c880b1c2eae9d':
Import corrected translations. DO NOT MERGE