History log of /packages/apps/Exchange/src/com/android/exchange/Eas.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cbd2e7b930796213860b05a2347a344b7503c1d5 30-Apr-2014 Jay Shrauner <shrauner@google.com> Fix NPE when parsing null protocol version

Catch null protocol versions and use standard version parsing function.
Add init() override in EasOutboxSync to reset mIsEas14 if the account
is reloaded.

Bug:14279815
Change-Id: I6e2ef0554c51da66eb9798f09e51db10b4b5d16f
/packages/apps/Exchange/src/com/android/exchange/Eas.java
d2b5c7386b2542ec5b22dcd44ecb56068d72ae15 14-Mar-2014 Yu Ping Hu <yph@google.com> Bump the version code in the useragent string.

This makes it easier for us to know when someone is on the
newer code.

Change-Id: Idd3e11cd822721decc795b5d16ef4962a7882e55
(cherry picked from commit 0a5006cadd8020ff099a6dbe559afa19ee441633)
/packages/apps/Exchange/src/com/android/exchange/Eas.java
ab9c23bcf59ec01a3dd79000b7b4136791a9db65 15-Nov-2013 Yu Ping Hu <yph@google.com> Improve birthday handling in contacts upsync.

Before this change, we assumed the string in the contacts
provider is in the proper format for Exchange. However, this
is not always true, so we now try to parse it using two
possible formats, and then make sure to format it correctly
when forming the request.

If the birthday isn't in one of the two known formats, we
do not send it in the upsync. This is bad, but will not arise
with the default contacts app.

Bug: 11636563
Change-Id: Ib7268409f5c3f39ecb345a2628ed66b73c40604c
/packages/apps/Exchange/src/com/android/exchange/Eas.java
774b28589925b8610e436d1fb52b2086b2d3ac7d 02-Oct-2013 Alon Albert <aalbert@google.com> Use Account Email for Main Calendar

If it doesn't already include the email in it's name

Requires remove and re-add account to take affect.

Bug: 11025715
Change-Id: I6f3e315b37b63a0075a62eba686d429f2ebfa5c3
/packages/apps/Exchange/src/com/android/exchange/Eas.java
110837ebff288a75f9bda067c38e2c46797d99b5 27-Sep-2013 Alon Albert <aalbert@google.com> Unify Log Tags

Use a single log tag

Change-Id: I6f08c1eb6e84971cc21497ca14bf60860f75bab4
/packages/apps/Exchange/src/com/android/exchange/Eas.java
36e181376b06c8905af2d22bf494a2423f50aa65 18-Sep-2013 Alon Albert <aalbert@google.com> Split Apply Ops Into Chuncks

To prevent TransactionTooLargeException errors. If it still fails, retry with
a minimal chunk to apply one message at a time.

Bug: 10402517
Change-Id: Ia121652da6da56587939dc813abb801d055c24ca
/packages/apps/Exchange/src/com/android/exchange/Eas.java
ff7e02603bc8196f411c0c491d74a42e747b7dc5 08-Aug-2013 Yu Ping Hu <yph@google.com> Decouple operation management from EasServerConnection.

This restructuring touches a regrettable number of files,
but allows us to put common code in a common base class.
(Before, it was messy because it would be muddled with the
connection management code.) Specifically, we want common
error paths to be handled in one place, although this isn't
implemented yet.

The new class of interest is EasOperation. This CL changes
Ping to use this base class. Future changes will switch all
operations to work this way.

Change-Id: I1bd26336e8916cafe592352f8ee05616bce8181c
/packages/apps/Exchange/src/com/android/exchange/Eas.java
9383babdbd7c0049a0eb238819a5d9737232e8ec 08-Aug-2013 Yu Ping Hu <yph@google.com> Put connection cache in its own file.

Change-Id: Ib986e6b32a219d6c15ce0f2c938c74149808cc69
/packages/apps/Exchange/src/com/android/exchange/Eas.java
9b65e23aebade9eb057070af3757f490a06148d3 15-Jun-2013 Yu Ping Hu <yph@google.com> Treat auto sync windows as the default (currently 1 week).

We're deprecating auto sync window because it's got strange
behavior.

Bug: 9226612
Change-Id: I3040172615888890bfb8c55a2be96d186d9537a2
/packages/apps/Exchange/src/com/android/exchange/Eas.java
942b7d73f2f5b3d6c651e39463e615fe6902a910 06-Jun-2013 Scott Kennedy <skennedy@google.com> Unify LogTag

There is now only one LogTag class. The static initializer of
GmailApplication (existing), EmailApplication (new), and
Exchange (existing) will now set the log tag to "Gmail" and "Email",
respectively. Up until that code is run, it will be "UnifiedEmail".

"setprop log.tag.Gmail VERBOSE" (or .Email, .Exchange) will trigger
all logs to be printed as long as they go through LogUtils,
regardless of what tag is used by that individual log. This lets us
still turn on logging everywhere in one command, but also lets us use
more descriptive tags (like the class name).

And since we no longer have three com.android.mail.utils.LogTag
classes, builds will be much easier.

Also, we now use LogUtils everywhere.

Change-Id: Ib565414fae51d0c3367370db9717aece45f7eb36
/packages/apps/Exchange/src/com/android/exchange/Eas.java
2bf91acb8174aab82582ce975a4b60702c810a9c 23-Aug-2012 Marc Blank <mblank@google.com> Convert authorities, intents, and account manager types

* Tested OK on wiped Nexus
* Tested OK on S3
* Upgrade tested on Nexus

Change-Id: Icbb939bebbaed71b7662739678b8e59e9a9e1552
/packages/apps/Exchange/src/com/android/exchange/Eas.java
e6c2456aa6c00ef78c6d1d1621511d7ef8507f83 28-Jun-2012 Marc Blank <mblank@google.com> DO NOT MERGE: Move exchange2 files up a level

* Goodbye, exchange1

Change-Id: Id2fc093cd43a55815047ab091b6a49c3d1138888
/packages/apps/Exchange/src/com/android/exchange/Eas.java
77e0f0dc7b064e0a320d11c33ce9da2f8ae5ba3b 27-Jun-2011 Marc Blank <mblank@google.com> Refactor EAS search into a single class

* Time to start uncluttering EasSyncService
* Add support for non-global (i.e. per mailbox) search
* searchMessages() now returns the total number of matches

Change-Id: I2491891f2b3035a66ca5340ac5ff14cb3617da43
/packages/apps/Exchange/src/com/android/exchange/Eas.java
0565fd4f943aa3e5be5e001fb16d2f3d69159de6 04-May-2011 Marc Blank <mblank@google.com> Implement "automatic" sync lookback for Exchange

* Target roughly 150-450 messages on device; these numbers are
starting points, subject to testing, etc.
* UI (name "automatic", etc.) is tentative

Change-Id: Idd36f447190066469e6254e15a7b4cf10a0fc3e8
/packages/apps/Exchange/src/com/android/exchange/Eas.java
77186bb1a174432ef272584374942d8b9228e39c 20-Apr-2011 Marc Blank <mblank@google.com> EAS 14.1 implementation

* Includes ABQ implementation
* Handle various quarantine (and other service denial errors) both
in validation and during a sync

Change-Id: I8b166c2364fd858847de66cbe974f04a9382fca4
/packages/apps/Exchange/src/com/android/exchange/Eas.java
c8e4352ea6cfa67f15140512e84af8ccede222d2 15-Feb-2011 Marc Blank <mblank@google.com> Separate Exchange application

* Clean up AndroidManifest, Android.mk, and proguard.flags
* Refactor to use emailcommon
* Remove Email app code/resources (note: this CL starts from the
single Email application)
* Update Exchange unit tests to use EmailProvider "live" and
clean up after itself
* All unit tests pass

Bug: 3442973
Change-Id: Iced00ae546dd4ddb9a66e297d3ac2dc2977e20eb
/packages/apps/Exchange/src/com/android/exchange/Eas.java
4f15001bdfd11c79524b4e44d60041967779e763 13-Sep-2010 Marc Blank <mblank@google.com> HTML support for EAS 2.5 email

* Load MIME data for these messages and parse, looking for a body either
in HTML or plain text or both
* If the MIME data had been trunctated and we can't find text, mark the
message as partially loaded and load the body text as we did before
(i.e. get the plain text body); this should be a rare case

TODO: Consider what is testable in the new EmailSyncAdapter code

Change-Id: I00a3066a373a0596431335593de356a4dda7f036
/packages/apps/Exchange/src/com/android/exchange/Eas.java
77382ac1a020285b838c7d86e409e2f6c12860a4 26-Aug-2010 Marc Blank <mblank@google.com> Add Android OS version to EAS User-Agent; update EAS version

Bug: 2953691

Change-Id: I2b2b16c7cb8950a644306b2aa25bcc53ab0c2731
/packages/apps/Exchange/src/com/android/exchange/Eas.java
cb5c48824628e93e98ca24edec46f05c54851af1 23-Jun-2010 Marc Blank <mblank@google.com> Fix GAL search in EAS 12.1

* We weren't sending the proper protocol version to GAL search, which
causes errors when using 12.1
* The simple fix is to send the agreed upon protocol version, instead
of the default (which is 2.5)
* Replace parsing of protocol version with lookup

Bug: 2793588
Change-Id: Ib2a255d8467004ce985d2d688b37066e1e09d78a
/packages/apps/Exchange/src/com/android/exchange/Eas.java
e7d9602fce0d4b404d68716da7eb0567da9dad47 27-May-2010 Marc Blank <mblank@google.com> Implement basic EAS 12.1 functionality

* Support required protocol changes
* Handle new security policies based on current device capabilities

Change-Id: Id1d629d41d957911344e6c503d28418f5e7e1386
/packages/apps/Exchange/src/com/android/exchange/Eas.java
d5fadc87ea52aee033afd476369b29b29bfd434f 19-Mar-2010 Marc Blank <mblank@google.com> Handle EAS versions better

* Properly parse the server's supported versions
* Choose the highest server version that we support
* Fail with MessagingException if we don't support any server
versions

Bug: 2527408
Change-Id: I0a2822c8fab31a65c8fea9b78b4a8c23df1804a3
/packages/apps/Exchange/src/com/android/exchange/Eas.java
e8ea6833e0541f0a0a3ceb1d78c84ac9ce359210 06-Mar-2010 Marc Blank <mblank@google.com> Stop pings when other syncs in the same account start

* When a mailbox syncs, pings should be aborted, or they appear to
end up timing out with a stale connection (observation from logs)
* The result of timing out is lack of push until the heartbeat time
has elapsed and our alarm triggers
* Also refactor code; some of the names of methods was unfortunate
and these methods were being used in this CL

Bug: 2492848
Change-Id: Ib626a5d3cf6d2c61e3b11f4886a3fedbf9727bfa
/packages/apps/Exchange/src/com/android/exchange/Eas.java
c50b499d8992cdf30dbc6355347dd43a7a5ca6e8 02-Feb-2010 Makoto Onuki <omakoto@google.com> Move Eas.ACCOUNT_MANAGER_TYPE out of the package.

Moved Eas.ACCOUNT_MANAGER_TYPE to Email.EXCHANGE_ACCOUNT_MANAGER_TYPE.

This constant is not related to the exchange protocol, and referred in
a lot of different places. Moving it out of the package will make it a lot
simpler when removing exchange dependency.
/packages/apps/Exchange/src/com/android/exchange/Eas.java
895d1e3132622653160516d420231ed366ab411b 13-Oct-2009 Marc Blank <mblank@google.com> Add truncation at 100k (EAS 2.5) and 200k (EAS 12) (#2184807)

* Prevents OOM errors with huge message bodies

Change-Id: Ie093215f96a514b3a1bcd31aa1f5957d1ada7719
/packages/apps/Exchange/src/com/android/exchange/Eas.java
42f891bb2c7465686ecbf864680ec2359d8960ae 20-Sep-2009 Marc Blank <mblank@google.com> Remove parser logging from standard SD logging

* Change description for one of the logging labels to reflect
what it actually does

Change-Id: Ib07b7330a20af5b099b42ae3733b71641c4bddd9
/packages/apps/Exchange/src/com/android/exchange/Eas.java
77424af660458104b732bdcb718874b17d0cab3a 09-Aug-2009 Marc Blank <mblank@google.com> Clear error states on network reconnect; add temporary notifications; see details

* When we get a network connect broadcast, clear error states so sync can
restart for any boxes in an error state
* Add temporary notification code for the testers
* Add file-based debug logger
* Add Exchange logging to debug screen (adds additional exchange debugging)
* Add Exchange sd card logging to debug screen (logs to sd card)
* Change setLogging service API to send an int rather than a boolean
* Make sure push mailboxes are set up again when account changes to push
* Make sure push mailboxes are set up again when account mailbox starts
* (Fixed contacts sync bug found during debugging these changes)
/packages/apps/Exchange/src/com/android/exchange/Eas.java
ed5b71376cb6fc3f54d63268afbd798e0b0c0a1b 05-Aug-2009 Marc Blank <mblank@google.com> Try to work around the "ping loop" problem in some Exchange 2003 servers

* First try reloading the folder list; this can sometimes work
* Otherwise, change push to 5 minute sync
* Send notification if we switch to 5 minute sync so there are no surprises
* Added syncStatus column to EmailProvider (can be used for any purpose)
* Use syncStatus to keep track of sync type, result type, and change count;
detect ping loop as consecutive ping's with no changes
* Remove InteractiveSyncService (no longer needed)
/packages/apps/Exchange/src/com/android/exchange/Eas.java
ad7d7fc870bf8cc86724b866b41a445d4361263c 03-Aug-2009 Marc Blank <mblank@google.com> Fix inadvertent submission with debug flag set
/packages/apps/Exchange/src/com/android/exchange/Eas.java
7c582a7fb883b3be728f270fbe5277676fe37cf9 31-Jul-2009 Marc Blank <mblank@google.com> Massive reworking of EAS serialization; much smaller and faster now

* Remove all use of Strings in favor of the parser's static final int's
* Strings remain in Tags for debugging output only
* Renamed lots of classes to be more consistent
* Centralized logging behavior in Eas class
* Found and fixed some bugs in the process:
- Account deletion wasn't removing HostAuth's correctly in the trigger
- Adding a second EAS account was trashing the first one
- Fixed looping sync behavior caused by Exchange 2003 bug
/packages/apps/Exchange/src/com/android/exchange/Eas.java
00d91b2e12d65df06916afdc4bebca67fd27214c 18-Jul-2009 Marc Blank <mblank@google.com> Changes to EAS: attachments, HTML text, and sending mail (without atts)

* Added HTML support for Exchange 2007 and later
* Modified MessageView to show HTML parts of body (if present)
* Replace some unused convenience methods in Body to be ones that are more
useful (i.e. retrive body for a given message id)
* Made EAS sending operational
* Updated SyncManager to recognize the creation of new messages and check
for work to be done (i.e. starting Outbox sync)
* Modified MessageView to remove EmailContent.X references
* Also changed the pattern EmailContent.getContent(cursor, class) to the better
new ClassName().restore(cursor)
* Add a test of the utility to determine mime type from file name (since
EAS doesn't provide this with attachment header information)
* Fixed bug in ProviderTestUtils in which the base (EmailContent) fields weren't
being checked for equality in the various subclass equality testers. Fixed a
bug in saving emails that was caught by fixing this bug.
/packages/apps/Exchange/src/com/android/exchange/Eas.java
22bc4e0e4f4a5e43e4eea8d59e1961860c507594 16-Jul-2009 Marc Blank <mblank@google.com> Fix push bug, minor changes to logging and removal of debug code
/packages/apps/Exchange/src/com/android/exchange/Eas.java
6396cfb310b09c53b8e9b51d9ba58d2f6b65c266 07-Jul-2009 Andrew Stadler <stadler@android.com> Various EAS related changes related to accounts and services.

* Renamed ISyncManager/ISyncManagerCallback to IEmailService/IEmailServiceCallback
* Restored ExchangeTransportExample to its original state; created ExchangeStore to
handle validation functionality instead; updated stores.xml to reflect these changes.
* Add support for AccountManager in EAS code (this is necessary for the contacts and
calendar providers to work with syncable data); created EasAuthenticatorService to
as our authenticator, which required adding authenticator.xml and modifying the
manifest to register our service with AccountManager metadata
* Created EmailServiceProxy as a convenience for the UI in calling into the EAS
service; created EmailServiceStatus class for status codes in callbacks.
/packages/apps/Exchange/src/com/android/exchange/Eas.java
ab30d429e0c6069604aead9b5e6845b6b91b6a02 05-Jul-2009 Marc Blank <mblank@google.com> Major refactor and cleanup of EAS code

* Rewrote push logic to encompass multiple folders (i.e. calendar/contacts)
* Change inbox from push frequency to ping frequency after initial sync
* Implement upsync logic for email (i.e. sending changes to the server)
* Did cleanup of some files (there's still some to do) re: format, style
* Initial one-way sync of Contacts data - add and delete are implemented
* Created adapter package for all parts of the EAS adapter
* Created utility package for utility code that will eventually be merged
with code in the Email application (Base64, QuotedPrintable, etc.)
* SyncManager/AbstractSyncService can be used in the future for other
protocols, especially IMAP push
/packages/apps/Exchange/src/com/android/exchange/Eas.java