History log of /packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
40038a7f263c5463f8a0c08ffa21111b3e483694 02-Oct-2014 Martin Hibdon <mhibdon@google.com> Fix search parsing

b/17231624
SearchParser delegates parsing of email contents to the
EmailSyncParser. Whenever it encounters a <Properties> tag,
it pushes that tag onto the EmailSyncParser, and then has
it parse and get message contents. It will keep doing this
until it encounters a </Properties> tag.
However, this means that that the </Properties> tag is no
longer in the input stream. The parent parser (SearchParser)
won't see it, so it won't remove it from its internal stack.
We must manually pop that from the stack or the parser is in
a confused state.

Change-Id: Ia3352fc16f8281d8fc597048df5e105ca7e6ba49
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
3c193c425ff383dbc94514d055ae6778821d8471 28-Aug-2014 Martin Hibdon <mhibdon@google.com> Hook up exchange logging to the debug screen

Change-Id: Ia4d5a1f0112762444a57f3b4e47f5771331960ee
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
bb0141b49e7eff978fa445249dc888461ea581e3 03-Jun-2014 Martin Hibdon <mhibdon@google.com> Delete obsolete code

ExchangeService was only being used for GalSearch. That
code has been moved EasService.
Other services, EasAccountService, EasOutboxService, and
EasSyncService are no longer used and have been removed,
along with a bunch of other unused helper classes.

Change-Id: I25c7e53896125818cfd6d3e3bf630ff671f142d1
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
4d07dd49522f0573cb6ea1920f072bf677ed60f9 21-May-2014 Jay Shrauner <shrauner@google.com> Fix parser EodExceptions

Fix Parser EodExceptions thrown as a results of changing nextTag().
Clean up various nextTag() loops so they are checking for the right
end tag.

Bug:15086892
Change-Id: I9ff0593bb062968d5556f028638c3bf13f3410d3
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
3d52ff729b82a20802bb6d5a8952040f4d961cef 11-May-2014 Jay Shrauner <shrauner@google.com> Fix handling of encoded ints

Fix encoding of ints to handle ints with high bit set. Modify Parser to
detect when it is decoding a run-on badly encoded int (ie, >5 bytes).

Bug:14817987
Change-Id: I4a21b126d03e2e244b0fd4c4fb4821d165897ad6
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
5bad4cfbe9a6401d5b4cde5bb8b4eec8d5fab82f 14-May-2014 Jay Shrauner <shrauner@google.com> Fix nextTag for end of document

Change Parser.pop() so doesn't reset end tag we're currently trying to
match in nextTag. Change END_DOCUMENT enum so no longer same as END tag
so callers can tell them apart.

Bug:
Change-Id: Ie5bd3e6703e75ce9d8bee888e6e3fb9a124434f3
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
3d3a9d01938c0b25f629985473fcef8f7d4455ee 08-May-2014 Jay Shrauner <shrauner@google.com> Fix Parser crashes on unknown tags/pages

Fix Parser so doesn't crash when sees an unknown tag on a known code page.
Check for unknown code page and throw parse exception. Remove unused code.
Make class variables private where unused outside class. Change tag stack
to ArrayDeque from fixed size static array. Check for unsupported WBXML
features: string tables, unsupported global tokens, and attributes. Throw
EasParserExceptions for all parse errors so Exchange can catch them and not
crash. Add unit tests.

Bug:14651154
Bug:14673019
Change-Id: If71be29391466985eccff90db8601bbdfde2658b
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.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/adapter/Parser.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/adapter/Parser.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/adapter/Parser.java
ae073cce37583f350ee4f1df4847c9c26eadb404 10-Jan-2012 Marc Blank <mblank@google.com> Handle empty tag for EAS 14 event reminder

* EAS < 14 doesn't send a tag when there's no reminder; EAS 14
sends an empty tag, which we interpret as 0 minutes
* Fix is to detect the empty tag and not create a reminder in this
case

Bug: 5848662
Change-Id: Id7a8e1d4b4c72e1456e15a1a209cbf60586f9f84
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
9f551ed0c2794a4ebb775df0dc5f714cf07f29b7 31-Dec-2011 Marc Blank <mblank@google.com> Fix folder sync parsing and parent initialization

* This is a large CL, but almost all of it relates to more
comprehensive tests for folder parsing
* There are less than a dozen lines of production code changes:
- Move creation of mailboxMap out of the validation loop in
FolderSyncParser
- Make sure we fix up the parent of new/changed folders
in MailboxUtilities

Bug: 5794371

Change-Id: I5fb32369a6fdbfb33919df495d40347b56013bbd
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
34d9cf7433233c1a61ca04cb5be131b9207c00ab 06-Aug-2011 Marc Blank <mblank@google.com> Handle "responses" properly in Email sync

* We need to parse our way through the Responses tag (this was
never used before EAS 14) and retry those updates that fail
* Also, small tweaks to improve Parser logging

Bug: 5123688
Change-Id: I78ae35145d85fd14413dadcc69388dfc619ae416
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
45fed27dbea77923779f6142c0341b3c80a77edd 27-Jun-2011 Marc Blank <mblank@google.com> Fix unit tests

Bug: 4946097

Change-Id: I9de5afe10931938d945c057e658072944c7308f5
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
c171a2362e6db78385463e3b7b1bc66585fdcdfc 28-May-2011 Marc Blank <mblank@google.com> Implement mail sending in EAS 14

* Mail is sent entirely differently in EAS 14...
* While we're at it, clean up Serializer

Bug: 4500720

Change-Id: I0eeb7fd28d32c0c7ac8790140721244eb0d4f65c
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
bb12673b0aa36ff0751ddcffe02223c6100f424e 12-May-2011 Marc Blank <mblank@google.com> Add support for EAS 14.1 attachment loading

* Move all attachment handling code out of EasSyncService and into
new AttachmentLoader class
* A bit of cleanup to existing attachment code

Change-Id: I4f6a7950b1318f838413b83d6cfae31f0467e8d1
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.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/adapter/Parser.java
bc2c2bd71a2026ac4bb54e6bf82f02df585f8a87 15-Apr-2011 Marc Blank <mblank@google.com> Add GZIP compression to EAS sync

* Also cleanup handling of HTTP POST responses

Bug: 4292618

Change-Id: Iba4e3b8b82eabddf59e39774bd21adf4ec1f649d
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
36c35287567e6f137b80f035b5fbf4d745541860 07-Apr-2011 Marc Blank <mblank@google.com> Fix Parser breakage; sigh

Bug: 4255074
Change-Id: I38d02fdf139683ada4d5b159d91a6bfd411c662f
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
87278ca6339c2b6d748fa5694a30a1fb5a174830 06-Apr-2011 Marc Blank <mblank@google.com> Fix parser stack handling in Parser/SearchParser

Change-Id: Ib9e2dcf7b101f4358fa2bdcc5067aefb08f63247
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
26d9677a1eb48553241897b63a77bbd33daa9f92 27-Mar-2011 Marc Blank <mblank@google.com> EAS implementation of searchMessages

* Clean up Parser

Change-Id: If6f7ce948f97be2309b093dc4af5cacb8dee3830
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
385a0be662509754e687bcfa9813208b050bf951 27-Aug-2010 Marc Blank <mblank@google.com> Rename SyncManager to ExchangeService

* Updated comments and checked for 100-columns

Change-Id: I4ab5aaa9425714f8e035e1952db3fec63d498ae1
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
377230593dca7cb01483bfaf93959e5821f5f028 03-Feb-2010 Marc Blank <mblank@google.com> Build proper TimeZoneInformation strings for upsync; fix bugs

* Create full TZI strings for upload of events (previously, we
omitted DST information)
* Add documentation to some unit tests
* Put in correct logic for determining if upload needed
* Fix problem w/ parsing empty tags

Change-Id: I268ce8a2db30b3cfdf0e44f6a78befd6bd933243
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
5862a85e17e81866ca82a9905577931947fbd44e 29-Oct-2009 Marc Blank <mblank@google.com> Implement Exchange calendar sync support

What should be working:
* Events sync down from server and appear in calendar
* Recurrences and exceptions appear in calendar
* Changed events on server should be reflected in calendar
* Deletions on server should be reflected in calendar
* Push of new/changed/deleted events should work
* Changes on device are NOT synced back to server
* New, single events on device are synced back to server
(no time zone, attendee, or recurrence support)
* Checkbox for syncing calendar added to setup flow
* System sync glue in manifest, etc.
* Bugs are to be expected
* A few unit tests; needs more

Change-Id: I7ca262eaba562ccb9d1af5b0cd948c6bac30e5dd
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
02e3436296ad5a638a1b6f349555e39964c6d13d 23-Dec-2009 Marc Blank <mblank@google.com> Add new tests for Email sync parsing

Change-Id: Ib3be60b5f439f79f62f62eff607673e34c75506d
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
dabb41d364a54a60df0e9d3750cb37faed626743 14-Nov-2009 Elliott Hughes <enh@google.com> Move the org.kxml2.wap.Wbxml class into the EAS code, the only user.

(I notice that you already have, for example, an END constant, but with
a different value. Bug?)

Bug: 2249953
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
1431215b5fc40d0d6498b0fe602ad4d1b8a66ff3 23-Aug-2009 Marc Blank <mblank@google.com> Fix a few sync-related bugs:

* Don't leak the receiver registered by AccountManager for updates
* Only restart dead threads if they aren't logged in the syncErrorMap
(to prevent looping behavior as seen in bug #2072456

Change-Id: Id1b4c53ef8b721bf8bfa8426627fd76831864c70
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
61563f075e07b9961ede4000d815865edc0f2497 18-Aug-2009 Marc Blank <mblank@google.com> Make sure Parser always reads UTF-8 strings
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
1b06024587a4499bcf3f9005337e8f7cae5ffa26 14-Aug-2009 Marc Blank <mblank@google.com> Implement adaptive ping timeout; release wake lock waiting for connectivity

* Remove unused/duplicated classes (e.g. Base64, WbxmlSerializer, etc.)
* Code cleanup in AbstractSyncService, EasSyncService
* Remove last references to HttpURLConnection (using HttpClient now)
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
f9423affa52661c2f552df35f0b9ddeecd8fa8fe 11-Aug-2009 Marc Blank <mblank@google.com> Make verbose logging less verbose; add exception message to logging
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
c1e79c036cd2a40e8a6e66b8ea4d37d121d355ba 10-Aug-2009 Marc Blank <mblank@google.com> Push fallback per mailbox, rather than for entire account

* Also cleanup code, add comments, remove unused methods
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.java
368adeb5779fed5d64770d2131125dd93e43ab78 03-Aug-2009 Marc Blank <mblank@google.com> Add support for additional EAS contact fields

* Fix a few misc. bugs found while testing
/packages/apps/Exchange/src/com/android/exchange/adapter/Parser.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/adapter/Parser.java