* Write MIME-Version: 1.0 in all outbound messages, not just those
with multiparts. This is required by RFC 2045.
* Unit tests
Bug: 1678296
Change-Id: Icf37d93b8b0150f490791792499865a60744adea
* Handle the case in which a Mailbox to be synced doesn't have
a serverId (rare case which happened to a Zimbra user)
* Tweak logging to improve debugability of similar issues
Bug: 2551196
Change-Id: Id61cee5c4b33eb2f87455fbae0899fec8ff3748f
Merge commit '59cf1d05c111e3b5fb18417db41ce47b623b5b1e' into kraken
* commit '59cf1d05c111e3b5fb18417db41ce47b623b5b1e':
Clear references to inner classes in onDestroy().
Merge commit 'c94c077a668fe3eb78dfeec797a175571a47b1c6' into kraken
* commit 'c94c077a668fe3eb78dfeec797a175571a47b1c6':
Send busy_status = 2 on all upsync's
* Right now, we only send this for 2.5 (where it's required)
* If we don't send this for 12.0 and later, the status will be
set to "free", which is almost always going to be wrong
* So always send busy status = 2 (we can't know differently, as
we don't track free/busy)
Bug: 2575611
Change-Id: I11d952b68ac0ef7a022b030037ce6408f72d4a90
Merge commit 'be4287970b4218bbcd01955677117110eb1d1d03' into kraken
* commit 'be4287970b4218bbcd01955677117110eb1d1d03':
Show a less-generic error message for security errors
* Simplify the logic in the onDisabled() receiver. Make sure
security policy keys are *always* disabled.
* Eliminate unused variable and unused receiver.
Bug: 2576145
Change-Id: I3665a1d300edfb77e02737c08aee22bc977f4968
It's a preliminary change for IMAP bug fixes.
Also,
- Fixed a potential bug in ImapFolder.setFlags where it'd throw
StringIndexOutOfBoundsException if flags is empty.
- Added a generic flag to proguard.flags so that now all methods with
the "ForTest" sufix are automatically preserved.
Turned out it wasn't needed for this CL, but it should come in handy
someday.
Bug 2538076
Change-Id: I49a08afc196c7b7f1f30477dfc38ac5381045d84
When receiving the EHLO response from the SMTP server, the multiline
answer has "-" prefix in all lines except the last line, where the
prefix is a blank. This is according to RFC 2821 section 4.2.1. This has
also been reported as issue 2309 at code.google.com.
Bug: 1744768
Change-Id: I3feccabed30767d2fa5b06352cd7d1c803e8d59c
* Track whether the user clicked "manual" vs. clicking next (and falling
into "manual" because the account is not found in the providers list.
Convert this into an "allowAutoDiscover" parameter.
* Pass "allowAutoDiscover" down into AccountSetupAccountType and through
into AccountSetupExchange. (Note, it's unused/ignored for POP & IMAP
accounts and should not affect them.)
* In AccountSetupExchange, use the existing EXTRA_DISABLE_AUTO_DISCOVER
(previously only for testing) to suppress autodiscover in manual mode.
Bug: 2570919
Change-Id: I2583e00d1e6cc26bbd4b85134eddae8cc3a1f91e
* Split out network operations w/ timeout and watchdog from send HttpClientPost
* Use this in autodiscover calls
* Add logging to help debug this issue, in case there are additional problems
Bug: 2568077
Change-Id: I2a2e1abca2c4dab02c8e04c304f67db2a7b4cb22
* In Controller, map EmailServiceStatus.SECURITY_FAILURE
to MessagingException.SECURITY_POLICIES_REQUIRED
* In MessageList, map MessagingException.SECURITY_POLICIES_REQUIRED
to string account_setup_failed_security
Bug report will be forwarded to next release to get a more specific
string with proper translation.
Bug: 2563988
Change-Id: Ia1e6e947e3c0c7e6bd37301de2ea8ef4d641ef14
* If the server asks for more than we can support, don't throw
and error from PolicySet creation. Let isSupported() do that.
* Overlong password lengths cannot be supported and isSupported is false.
* Overlong timeouts & max wipes can be reduced to supported
amount (this actually increases security) and isSupported is true.
* Clean up an obsolete comment
* Unit tests
Bug: 2567804
Change-Id: I2d664a7f2a315b9f9bdcb867fe2cd98f74de6f66
* When the sync state of Calendar/Contacts is changed, a number of observer calls
are triggered. In addition, we might have a running sync.
* The syncKey operations need to be synchronized, because we may otherwise
inadvertently use stale data when syncing, which would cause symptoms
as seen in the referenced bug
Bug: 2561864
Change-Id: I03db58fe01c45778d271fad34d8d4940edefe8fe
* resetVisibleLimits can be called via BootReceiver, which isn't in the
Email app process, so it can (and apparently did) get a RemoteException
* This causes the query to return null; we have to check for it or we
get this NPE
Bug: 2564904
Change-Id: I4b75e3c74ac7d1276f609f2fc957afdaa8da2f64
* Turns out that most other clients omit this.
* This has the pleasing effect of fixing the referenced bug
* Update unit tests
Bug: 2561821
Change-Id: I39f7db7e05be590373cd5f3d9b23c7ee21bde4f7
* We were queueing up emails during our upsync, but before the upsync
was complete. If there were connection issues, we could pile up
multiple copies of the same message, each of which would eventually
get sent out
* Fix is to simply queue up the outgoing mail and send it all after
the sync operation is complete.
Bug: 2515975
Change-Id: Ide3eb2deb6e959d0637d28efabd613efb3c6e209
* Because we were sending these in the wrong format, upsynced changes
were failing, with the result that both the original event and
the "new" event (from the UNTIL date forward) remained in the calendar
* Fix is to send the proper format; unit test updated to reflect the
change
* Also, we only send the date of an UNTIL, rather than the to-the-minute
time; it turns out that EAS expects to see only a day for UNTIL.
Bug: 2561818
Change-Id: Ic4eacbe96c713d58c637386ceab2cf22ebe3c2d4
* We need to send date only (without time) in the VCALENDAR file for
all-day events
* Add unit test for this case
Bug: 2561789
Change-Id: I33a43c7a248059c97482ca147a23af083744118a
* Always send up something when upsyncing photo and note
fields
* This allows the client to delete the data, as these fields
are NOT deleted if skipped in an upsync (unlike other
fields)
Bug: 2558998
Change-Id: I9c874432108eedd84a351918f818c32e6e579dd7
* We should be sending CANCEL as the method with cancellations
* Fix this and update unit test
Bug: 2527606
Change-Id: I2b982e4bfd1dbc57660cf578702edf49584d2957
* We now check that the user has verbose debug logging on
before spamming with serializer logging
Bug: 2561834
Change-Id: I5eda2ca5f16cde728b0febaa990d66fc99bb93a0
* Now that observer code has been moved to worker threads, the order
in which various pieces of account creation are executed has become
indeterminate
* Because of this, our EasAccountsUpdatedListener could use a stale
list of EmailProvider accounts when performing reconciliation with
the AccountManager's list of accounts
* The fix is to ensure that EasAccountsUpdatedListener's worker thread
causes the cached EmailProvider account list to be updated before
calling the reconciliation method
Bug: 2558317
Change-Id: Ia94a8301845cf6c06f8efecd408eb237474f781a
- make EntityIterator extend Iterator and thus not throw a
RemoteException, instead converting it into a RuntimeException.
- rename ActiveSyncInfo to SyncInfo
- change getActiveSync to getCurrentSync
- remove the accessors in SyncInfo and instead make the final
fields publicly accessible
Change-Id: Id1a47bba27042de4c21451a91cc43fa70eb68ec6
http://b/issue?id=2553539http://b/issue?id=2553541
* Clean up some code related to connectivity locks and sync holds
* Add logging related to sync holds after we re-establish connectivity
Bug: 2551482
Change-Id: I1b1f03cc1428e25be90c5e60555adf9ab1bf3ab9