Merge commit '394be87968c4716653251351b24c85f3f01d8799'
* commit '394be87968c4716653251351b24c85f3f01d8799':
AI 148488: Heavily-instrumented Account.java that's looking for the precise moment
when an Account string gets corrupted. Looks for bad base64 strings
and bad store Uri's. Logs the error, and (optionally/disabled) throws
an exception (good for debugging).
BUG=1822859
Automated import of CL 148488
Merge commit '1eba4b57f3846c8605654254cd6be97d1dc7d318'
* commit '1eba4b57f3846c8605654254cd6be97d1dc7d318':
AI 148485: Clean up the scrollview layout so the button bar is always on the
bottom of the screen.
Also removed an extra ':' in a string on the screen (none of the other
label strings have ':').
BUG=1740626
Automated import of CL 148485
Merge commit '3d267690a3295e2d1e6df8fb77cb92625f010480'
* commit '3d267690a3295e2d1e6df8fb77cb92625f010480':
AI 148457: Allow exchange accounts to be set up without an empty domain
Merge commit '6aaffded0bcbcf3cb02dabf35eb7fdcace420fe2'
* commit '6aaffded0bcbcf3cb02dabf35eb7fdcace420fe2':
AI 148382: Check cursors in LocalStore so we avoid errors when the folder itself
Merge commit '8cbbcb14c2d49c6d7eb9fb2d141ffd7f3d2889a2'
* commit '8cbbcb14c2d49c6d7eb9fb2d141ffd7f3d2889a2':
AI 148378: Allow store to create BinaryTempFileBody from a preexisting file
READ_PHONE_STATE so a push mode service can hold an active
network connection, monitor roaming status, etc. (2) Refresh
push mode status on Refresh(), not just on Check, so UI
(settings) changes, which call refresh(), propagate immediately
to the stores.
BUG=1776149
Automated import of CL 148377
for new accounts to "1 day". (2) Remove "all" from the list
of available lookback window sizes, to prevent runaway
during our simplistic sync model.
BUG=1789913
Automated import of CL 148376
Merge commit 'bf85aa4a811994b9eb70a108fd3005edb2ab290a'
* commit 'bf85aa4a811994b9eb70a108fd3005edb2ab290a':
AI 148375: Explicitly remove deleted accounts from the Store cache. This resolves
Merge commit 'de312d60e986060d847b4c0829e80b5eb1725683'
* commit 'de312d60e986060d847b4c0829e80b5eb1725683':
AI 148334: Provide a new entry in MessageUpdateCallbacks by which the store can
Merge commit '9fca1305f7a607afb5e89f52b4bb8d0288b8451e'
* commit '9fca1305f7a607afb5e89f52b4bb8d0288b8451e':
AI 148333: Evidence from failures, and inspection of source, leads me to believe
indicate that the message of interest no longer exists. This is used
in remoteFolder.copyMessages, for example because the message was
already deleted by another client.
BUG=1807499
Automated import of CL 148334
that SharedPreferences has some non-thread-safe paths. As a quick,
brute-force workaround, I'm putting a global lock around our use of it.
This is a bit inefficient, but cases of multiple threads writing to it
should be very rare.
Note, we don't have an explicit test for this (I will think about
finding a way to write one), but the evidence of this failure is that
after some amount of activity in the Email app, we see corruption in
the string mSenderUri.
BUG=1822859
Automated import of CL 148333
Merge commit '51249c25c5a1ed448e1889ee37786e02cbe3063d'
* commit '51249c25c5a1ed448e1889ee37786e02cbe3063d':
AI 148300: Reduce memory waste in getTextFromPart(), and improve error handling.
Merge commit '9391a604e49112d6fd2ddd39ebba42688ec54985'
* commit '9391a604e49112d6fd2ddd39ebba42688ec54985':
AI 148257: Allow preview of any files (mime type */*) by removing
the original filters. This affects preview, not download.
This does not preflight the launch at all, it is very simple
as it simply downloads the attachment and then tries to open it.
If no activity is found, it uses a toast to say "couldn't do
that." A better fix will be to pre-check the mime type to see
if there are any intent filters to handle it.
BUG=1650669
Automated import of CL 148257
Merge commit '63c1ba8f0d80df67438c3dbe08bf43fccadfcf5a'
* commit '63c1ba8f0d80df67438c3dbe08bf43fccadfcf5a':
AI 148256: Finish cleaning up the concurrency bugs in FolderMessageList.
At this point, *all* MessageListener callbacks should have their
work routed through the handler for deeper processing (especially
anything that affects the lists) to be in the UI thread only.
Also fixed a minor regression introduced in CL 148096 (on
configurations with a single account, the inbox was not
automatically preopening - this affected desktop shortcuts
as well.)
BUG=1812798
Automated import of CL 148256
Merge commit 'c98f9775ad2b01f1692f96f14faacaca4ef3c1cf'
* commit 'c98f9775ad2b01f1692f96f14faacaca4ef3c1cf':
AI 148255: Don't show "Outgoing Settings" preference when sender does not
Merge commit '114026bf3fdd3a5f54a35030d6e071160e8992f8'
* commit '114026bf3fdd3a5f54a35030d6e071160e8992f8':
AI 148230: Allow stores to indicate if they support server-side copying of sent
Merge commit '3a0985b83a9856da3639e5a28e1acd0f8db37246'
* commit '3a0985b83a9856da3639e5a28e1acd0f8db37246':
AI 148216: Provide UI for fixed sync window sizes, as required by EAS.
Merge commit '0fc66ee3664ca2c92d79e6fd976962b99a15656f'
* commit '0fc66ee3664ca2c92d79e6fd976962b99a15656f':
AI 148215: Provide a better way for stores to get their callbacks, since they
Merge commit '503d4c52370bbe39a7c7b045d63db0f329190ed6'
* commit '503d4c52370bbe39a7c7b045d63db0f329190ed6':
AI 148204: Encapsulate a requirement for some remote stores, that need to preload