History log of /packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9cdb8c8219349c654101ee5fc71e2986a6cebc3b 13-Nov-2013 Alon Albert <aalbert@google.com> Add Logging to Track Bug

Bug: 11247743
Change-Id: Ia168b8fd406d08a3c2fb43c90af673a772f7b64f
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
5cc7ea3e24f1c05f71a3223ac6fa8b69d211735c 28-Sep-2013 Yu Ping Hu <yph@google.com> Exchange sync fixes.

- When wiping a mailbox, supply the correct account object
to requestSync. (Account#mAmAccount is actually null.)
- When wiping a mailbox, don't treat it as looping.
- Do not try to sync when the mailbox is not in the current
account. Still not sure how we get in this state, but this
is never a good thing to do.

Bug: 10965484

Change-Id: I24cbc9985282e54386765139faf5ff8edfac8cd7
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
38ebc3d89a3c82589cf7bb413dc26c1a70b1a802 28-Sep-2013 Alon Albert <aalbert@google.com> Change WTF to E

Change-Id: Ib963f3db87a29e69eea4b4554798af602d0b20e2
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.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/AbstractSyncParser.java
28f3556f92b20b2efb800c1d95c29b04a3bbbb4f 20-Sep-2013 Martin Hibdon <mhibdon@google.com> Add code to wipe contacts and calendar when asked to

This may explain cases where we get duplicated contacts
and calendar events.

Change-Id: Iefdaaae0ae9a3ffc4b675a8ef6a04af005a876eb
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
722006c7b116240d9383c84d5e76ee69796dd571 19-Sep-2013 Alon Albert <aalbert@google.com> Wipe and Resync Mailbox on Bad Sync

Change-Id: I52f95641e2cc519944863d394f808d796b3c0a18
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.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/adapter/AbstractSyncParser.java
56d35257ef1493e849522c3c2828d904e4c5531f 26-Jun-2013 Scott Kennedy <skennedy@google.com> Clean up a bunch of warnings

Bug: 9565838
Change-Id: Ieb65ab41c1e320647a1a17b835371c5eb8e342db
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
456a6e3e01205e8c779930d8c7533b1c7467df5e 20-Jun-2013 Yu Ping Hu <yph@google.com> Fix account sync.

We no longer specify sync intervals per mailbox. Instead,
the account sync interval is always used, and each mailbox
simply says whether it participates in that sync. This
allows us to change "account sync" to mean that we sync all
mailboxes that we are actively syncing (and push uses the
same definition of which mailboxes to check).

Also, this change implements "account only" sync.

Change-Id: I528ef5f9f0b857fd2a31a95068ef1b5ff62a5a56
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
775da630edfa547a251bda0ca232a807c3c9ed5b 15-Jun-2013 Yu Ping Hu <yph@google.com> Remove a reference to an old sync interval state.

The new Exchange implementation doesn't need ping/push_hold states,
so we should never set them.

Change-Id: I9b6a35056df62a3dae51836759a01eb76eb939db
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
7d35f61afc910b8f21d3225762c251df10dc76ea 03-Jun-2013 Yu Ping Hu <yph@google.com> Fix upsync for email.

Calendar & Contact upsync are still stubs.

Change-Id: I62c168ce7e7aef449d6ff5a89919aed1fd6ce5c8
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
6e66ab513197793c34f5dcda159043da39224ff9 29-May-2013 Yu Ping Hu <yph@google.com> Initial fix for Contacts and Calendar.

This comes in a few parts:
- We can't use the same SyncAdapter service for all
sync types, so for now this forwards syncs to the
Contacts and Calendar services to the Email service.
This should get cleaned up later.
- Refactor EasSyncHandler to cover all the common code for
syncing Exchange collections and adjust
EasMailboxSyncHandler to match this change.
- Implement EasSyncHandler subclasses for Contacts and
Calendar.

This is only a first pass -- for example, upsync is
still not yet implemented.

Change-Id: I722b540830b292bac4c79bf8426d8eec62112d9d
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
c9e47f85203da0ea3b6e9a49aa2007d1fc6f0814 08-May-2013 Yu Ping Hu <yph@google.com> Cleave sync adapter from ExchangeService.

All manual syncs now go through the system sync manager,
with no involvement of the SyncManager or the
ExchangeService (hopefully).

Push is not yet properly implemented in the new way.

Change-Id: I62477ff963016f878e244144d5ebbebce7fe2521
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
376260021db980af284f824f0c918b203e965407 09-Aug-2011 Marc Blank <mblank@google.com> Cough. Sputter. Fix sync regression

Bug: 5143390
Change-Id: I31e1884e74c29527904b87c9949d3a2816164e19
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
f7b0fd783fa0eec52473e0d0b832bc5adee1d69b 08-Aug-2011 Marc Blank <mblank@google.com> Handle "Sync" status 5 as an IOException

* Failure to do so leads to fast looping behavior and battery drain until
the server fixes itself up. Best to treat it as an IOException and use
our built-in backoff behavior

Bug: 5135583

Change-Id: Ied7cfe09f5ae725d1c307ea48dd4bbf52f321c6a
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
61c48abf43082f3094f21fd4c645ad9cf4dfbd74 03-Aug-2011 Marc Blank <mblank@google.com> Handle sync status 7 properly

* This indicates a failed upsync (due to a conflict with the server);
it is rare but causes subsequent sync failure. Very P1'ish
* Note that this is directly related to EAS 14.1 usage, and the case
in which the server has a "replied" update to send to the client
* We now, do a subsequent sync without upsync, and THEN, when we've
gotten the latest from the server, try to register our changes
again.

Bug: 5111438
Change-Id: Ic1268316b3286eb92ec2f143742dd6ed1b39d153
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
5ec3d0587c18603167f7a751c9b8974ba7a19758 14-Jul-2011 Marc Blank <mblank@google.com> Handle a few new transient sync errors

* We'll just retry these as if they were IOExceptions
* These were found in a user log...

Change-Id: I677d3f22926845ae7c981b611485a8610f272144
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
680e59f477fe2221ffa6d5bb6b3c8fe64c1f5a74 13-Jul-2011 Marc Blank <mblank@google.com> Reload the folder list on sync status 12

Bug: 5025710
Change-Id: I7c16717cbe106078e5a8dd1032d1c4144306b117
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
7372782488977df778a33d990401ce9e397f646b 14-Jun-2011 Marc Blank <mblank@google.com> Support move of Account to its own top-level class

Change-Id: Ibf427ddcfb0566354ea169997c56a67de1897c0b
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
4d8774462ace9a45154b2df418b9f2fe7a9c685d 14-May-2011 Ben Komalo <benkomalo@google.com> Move Mailbox to top level class.

No other changes made.
Depends on E-mail change.

Change-Id: I549fb2cb7e942f1885ec40a6619dc491f63c0de2
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.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/AbstractSyncParser.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/AbstractSyncParser.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/adapter/AbstractSyncParser.java
6f898deac953e5838fa28f47a16e0fb92bbc81eb 16-Nov-2010 Marc Blank <mblank@google.com> Implement password expiration for EAS

* Hoist wipe() method from AbstractSyncParser to AbstractSyncAdapter
* Add deleteAccountPIMData(accountId) to the EmailService API
* Implement deleteAccountPIMData for EAS

Change-Id: I1037cde25fc2b24419f399446cfa0906dc0174d1
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
0638c5ede5fc97b32e4b48d40c431c007860d0f6 28-Sep-2010 Marc Blank <mblank@google.com> Remove obsolete EAS logging

Change-Id: I549957c92aa05f98581441c1a7631f87040c5078
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.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/AbstractSyncParser.java
8efd25be4e1db3c0c79aae2ca1b4664b21bb410b 19-May-2010 Marc Blank <mblank@google.com> Allow limited looping requests in sync

* Microsoft has documented cases in which the server can continue to
send MoreAvailable=true even when no new data is received. This
can cause looping behavior, which we stop when we recognize it.
* This workaround, however, can prevent the situation from resolving
itself, and lead to delayed sync (up to a few hours has been noticed)
* In this limited CL, we allow the sync to loop up to a maximum number
of times before stopping it forcibly.

Bug: 2685984
Change-Id: I85981b85b71c4e7d53e69da2520543e8ef04c889
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
da7f22d3a76dca40eaa95243288cea576852864c 04-Nov-2009 Marc Blank <mblank@google.com> Improved fix for #2189704 (sync loss)

* The prior fix prevented looping in the case that a new sync key wasn't
received.
* Unfortunately, the prior fix tested for the looping condition (moreAvailable)
before it would have been set.
* The correct fix is to detect the looping condition after both the sync key
and the moreAvailable flag are guaranteed to have been set

Change-Id: I2eee4ddc123fb2a5ce4ef3bd4e7d0614fcfbdf36
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
79e725a9924f47b08fceec34192edfe3d3f89d44 15-Oct-2009 Marc Blank <mblank@google.com> Handle moreAvailable true w/o changes (#2189704) DO NOT MERGE

* An Exchange log from Moto has shown sync behavior in which moreAvailable
is set to true even though there are no changes in the sync response
(i.e. the SyncKey is unchanged)
* This leads to long-lived looping which impacts battery life
* The fix is to recognize the behavior and prevent looping by
setting moreAvailable = false

Change-Id: Icf45efbc24331c874c820b7b177e39b16df445d8
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
8d12fd6f9d0993a8eaf7777d57ad04d80dfd2dd1 02-Oct-2009 Marc Blank <mblank@google.com> Fix push failure edge case (#2161999)

* Unsafe (potentially stale) data was being written to the Mailbox table near
the end of each sync. It would effectively undo changes made to the
Mailbox in other threads that occurred while the Mailbox was syncing.
* In this particular case, changes to sync interval (push/ping/timed)
were being overwritten, which could cause push to get lost for as
long as 30 minutes (the pingLoop timeout when there aren't any
pingable mailboxes)
* Watchdog alarm was being set to wrong time (typo)
* Add extra user logging in case there are additional cases of push
* Only set sync status and time on successful sync
* Move ping error check into pingParser to avoid unnecessary sync

Change-Id: Icb4494078480ada39b7494b3abf380fb08858406
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
27cf341571fac3d8dbe866f503c34fc31e02bf85 30-Sep-2009 Marc Blank <mblank@google.com> Fix an issue related to ping loop errors and ping state; add logging

Change-Id: Ie6d16a8914205ddf63ae1929961279f66360eb89
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
a05c26d8d2cce3faa152096cb8116fce375c6d81 27-Aug-2009 Marc Blank <mblank@google.com> Clean up onCreate/onDestroy methods for SyncManager

* Put most of onDestroy code into the run method of SyncManager's thread
* Clean up code for updating Mailboxes' SyncKey and interval
* Fixes 2080472

Change-Id: Ie16c851a686142d9fd1d810a942aa786690b1034
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
48af7392c82262d17700e3fbdccf3a582809d449 24-Aug-2009 Marc Blank <mblank@google.com> Add initial support for uploading new Contacts to Exchange server

* Refactor the sync adapters to separate out parsing from commit
* Use ContactsProvider to save the SyncKey for contacts
* Fixes #2072664 and #2072456

Change-Id: I1e85c498496e83d9523489636a75f366f7fbd106
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.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/AbstractSyncParser.java
1403386ebffa1b6093a506a6a24db4523acdc315 18-Aug-2009 Marc Blank <mblank@google.com> Make sure we log exceptions in FileLogger
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.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/AbstractSyncParser.java
0a4d05f0d8753c67364f7167e62cea82aef9a81e 13-Aug-2009 Marc Blank <mblank@google.com> Cleanup; delete unused files, change log statements

* Two files were unused and therefore deleted
* userLog was changed to avoid using string concatentation until the logging
decision is made
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
f4ec9557c58b0c5918e3ae4cde23e1355dc0a2af 12-Aug-2009 Marc Blank <mblank@google.com> Separate syncInterval constants for Account and Mailbox to remove confusion
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
0d88d88926b63042e68c4ea0dc67143ed00d52d0 11-Aug-2009 Marc Blank <mblank@google.com> Change PIM fallback sync to 30 mins; try ping again if changes are found
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
8047ef058e41c164c2c8ab230ae8d123f042c167 08-Aug-2009 Marc Blank <mblank@google.com> Switch from HttpURLConnection to HttpClient
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
9d4ac93efbba01afe668f9406feec69b3a2374eb 08-Aug-2009 Marc Blank <mblank@google.com> Refactor, cleanup, and fix sync bugs

* Found/fixed major sync bug re: first-time sync (emulator only)
* Moved deviceId code to SyncManager
* Added code to handle some edge cases related to sync errors
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.java
1b275b9408d5b856e2482fa3951827489e9585cc 07-Aug-2009 Marc Blank <mblank@google.com> Fix various problems related to synchronization, reload folder list, etc.

* The reloadFolderList service call mustn't reset the account mailbox if the foler
list has never synced
* Be careful to not commit anything after a mailbox has been stopped
* Be careful to synchronize before checking the stopped state of a mailbox
/packages/apps/Exchange/src/com/android/exchange/adapter/AbstractSyncParser.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/AbstractSyncParser.java