* Followup to 5e91cccd
* Workaround for (HTC bug: 2275383) & (Moto bug: 2226582)
* Restores mSyncKey as null instead of empty string, which is how
a new account is initialized. Bug: 2385980
* Cleanup synchronized logic in backup & restore
* Minor cleanups & improved comments
* Workaround for (HTC bug 2275383) & (Moto bug 2226582)
* Adds checkpoints for backing up and restoring accounts
* Uses legacy Account / prefs to back up accounts - this is because
some of this code will be reused for legacy account migration
* Unit tests of Account & LegacyConversions
* Unit tests of backup & restore
* Not done: testing of EAS/Account Manager interface (this will require
deeper dependency injection, to avoid the embedded calls to the Account
Manager and other system services.)
* Due to the order in which account creation occurs in the Provider
and in AccountManager, and the fact that there are data observers
on each that initiate account reconciliation, a race condition exists
that can cause either of these accounts to appear to be orphaned,
and thereby get deleted
* We add an "incomplete" flag to the Account in EmailProvider and
set/clear it during account creation. The various reconciliation
methods will ignore accounts marked as incomplete.
Bug: 2353755
Change-Id: I13fb144dd857f839eb3471b01f271f3a0d4d8159
* Make sure 403 error in autodiscover isn't treated as an auth error
(401 is used for that)
* Make non-auth errors in autodiscover fail silently (and move user
to manual setup)
Bug: 2374302
Change-Id: I4699bff70cf5ec4a513e6443e4817543c2ab2cef
* Autodiscover allows complete configuration using only email address
and password
* Code handles the two standard autodiscover addresses and redirect
* Autodiscover process starts when the user chooses "Exchange" as the
account type. If the account is created via the AccountManager,
autodiscover begins upon tapping "Next" for the first time
* If autodiscover fails due to anything other than auth failure for
autodiscover-capable servers, the user is placed into the standard manual
configuration screen
Bug: 2366019
Change-Id: I936712b924833d9a133e8da04e11c3ba45d92f92
Merge commit '80eb4fd0fed32800cd0c78e0e26ca0b3d54c7d2b'
* commit '80eb4fd0fed32800cd0c78e0e26ca0b3d54c7d2b':
Ensure protocol version always set in sync services DO NOT MERGE
Merge commit 'd1c56ea144fb3e91ad1fdf8bba4c57531ec9cc18' into eclair-plus-aosp
* commit 'd1c56ea144fb3e91ad1fdf8bba4c57531ec9cc18':
Ensure protocol version always set in sync services DO NOT MERGE
* A recent change caused an issue in which protocolVersion could
be null, resulting in an NPE
* Ensure that protocolVersion is always set to a valid version,
defaulting to 2.5
Change-Id: Ifba6c8089fdbd93dffe38ab9895cfd3e994e29d0
Bug: 2353859
* A recent change caused an issue in which protocolVersion could
be null, resulting in an NPE
* Ensure that protocolVersion is always set to a valid version,
defaulting to 2.5
Bug: 2353859
Change-Id: I6e07ba3df5362c988658e401bebc1776a6780876
1. Replaced SSLContextImpl with SSLContext with TLS. (They're the same, according to crazybob)
2. Copied SSLSocketFactory from org.apache.http.conn.ssl, so that we can use the hidden costructor. (Which wasn't in the original code -- it was added by the android team, which is why it's hidden.)
Merge commit '78f609db56500c01f75ea2d8742468907255f7ba'
* commit '78f609db56500c01f75ea2d8742468907255f7ba':
MessageView: upon delete move to older instead of newer.
Merge commit '9d024a5b4f42d9d7687d06e5f86f9c68f22fccf8'
* commit '9d024a5b4f42d9d7687d06e5f86f9c68f22fccf8':
MessageCompose: fix NPE cased by WebView set to null in onDestroy().
Merge commit 'af1bf48773154226fd88ab823a250fafa2814241' into eclair-mr2-plus-aosp
* commit 'af1bf48773154226fd88ab823a250fafa2814241':
MessageView: upon delete move to older instead of newer.
Merge commit '2b6dfc9796b6c54b329e234244e076a8dc6d3a07' into eclair-mr2-plus-aosp
* commit '2b6dfc9796b6c54b329e234244e076a8dc6d3a07':
MessageCompose: fix NPE cased by WebView set to null in onDestroy().
MessageListAdapter.doRequery() is supporsed to do the same thing as CursorAdapter.onContentChanged() does. So the entire method body can be replaced with super.onContentChanged().
Merge commit '4b31f3c7a6caf0967beef208c172c899c8b6fac1'
* commit '4b31f3c7a6caf0967beef208c172c899c8b6fac1':
Use correct EAS version in Outbox (fixes#2319892) DO NOT MERGE
Merge commit '420f664891b2f46356bfc5cdd645aae727ecc71f'
* commit '420f664891b2f46356bfc5cdd645aae727ecc71f':
Fix delay sending mail after tapping "Send outgoing mail" DO NOT MERGE
Merge commit 'c76a22b01a2cb78fe75cc591066441fbcf3d90ac'
* commit 'c76a22b01a2cb78fe75cc591066441fbcf3d90ac':
Don't delete referenced messages from the Exchange server DO NOT MERGE
Merge commit '27051e480f9cc5396aacc3cc5e520d5875390548' into eclair-plus-aosp
* commit '27051e480f9cc5396aacc3cc5e520d5875390548':
Use correct EAS version in Outbox (fixes#2319892) DO NOT MERGE
Merge commit 'bfc5de35fa08b6e747e5d5afe72bffafca08ce2a' into eclair-plus-aosp
* commit 'bfc5de35fa08b6e747e5d5afe72bffafca08ce2a':
Fix delay sending mail after tapping "Send outgoing mail" DO NOT MERGE
Merge commit 'c874824ca8b76f795575538ffa34138e2de47cad' into eclair-plus-aosp
* commit 'c874824ca8b76f795575538ffa34138e2de47cad':
Don't delete referenced messages from the Exchange server DO NOT MERGE
* The existing flow is badly broken; every "back" causes the user
to leave the setup flow and therefore have to start from scratch.
This is a very bad user experience, as previously entered data is
lost and must be re-entered.
* The fix corrects these problems, allowing the user to back up
through screens UNTIL the account is successfully created.
* After account creation, the user is returned to the proper screen,
depending on whether we're in "eas flow mode" or not
Bug: 2337511
Change-Id: Ie25ac73dfcd8a1dca36e1b31c75ffb22359840d1
Merge commit '42e5dca4efb6a5932f2062e9f97af914a3e84aa1' into eclair-mr2-plus-aosp
* commit '42e5dca4efb6a5932f2062e9f97af914a3e84aa1':
Add sanity checks in SyncManager and EasSyncService