History log of /packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
214c6c6c8173cf90a3e45615a6896a48dc643e68 14-Oct-2010 Andy Stadler <stadler@android.com> Fix remote wipe with mobile sync server

* It appears as if our running multiple sync threads can confuse the
mobile sync server during a remote wipe (the server expects the next
client response to be an acknowledgment, whereas it might well be
a command or response from a different thread)
* To avoid this, we first put the account on security hold and then
shut down all other sync threads for the account
* After this, we send the acknowledgment and the remote wipe proceeds
normally.
* NOTE: It's possible that, due to the vagaries of multithreaded
operation, one of the other syncing threads could still send a non-
acknowledgment response to the server before our provisioning thread
gets a chance to send its acknowledgment. However, since the other
syncing threads will terminate (and not restart, because of the hold),
the provision/remote wipe/ack sequence will work on the subsequent
attempt

Bug: 2844888
Backport From: Ib4ffbbc67b681e69176b6c1d5515fa80c7d1e121

Change-Id: Ie9e944bd39f331c2ddc0f0ba303a3d5684f6f033
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
a0b4907ca5b082962bd596fba29d2c8649386cf2 21-Mar-2010 Marc Blank <mblank@google.com> Fix race condition that results in incomplete accounts

* Remove some very old code that updated the Account in the database
when finishing an EAS FolderSync. The old code saved away the entire
Account structure using getContentValues(), which has long been recognized
as dangerous, since the data being saved might be stale.
* In this case, we were clearing the INCOMPLETE flag in another thread, but
FolderSync was saving away the old value (with INCOMPLETE set) along with
all of the other columns.
* Ironically, the old code is entirely obsolete, so the solution is to
simply remove the update call.

Bug: 2501574
Change-Id: I9eccbde40e05c83ec5f0ab1d3387289286acc5f3
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
d3fba0a2d7e943d432cc593fe6602223fa4ae834 19-Feb-2010 Marc Blank <mblank@google.com> Fix #2451630 (No calendar after upgrading Eclair->Froyo)

* Initialization of CalendarProvider Calendar was being done at
account creation time, but Eclair accounts won't have had this
done.
* Move Calendar creation code into CalendarSyncAdapter where it
will be created before the first sync.

Bug: 2451630
Change-Id: I74c669d99f4c8aae4c5847f5cb9b0ca7f44929e2
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
4ef6c2b78809bd4935187137264e57531e8666ff 10-Feb-2010 Marc Blank <mblank@google.com> Add better comment to calendar color code

Change-Id: Ic4703a98826319031f356bed6da810affe8c76c8
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
fcf41c4d9e23d12140b057d6f193f6bdccae269f 10-Feb-2010 Marc Blank <mblank@google.com> Fix #2432959 (Exchange events appear transparent in Calendar)

* Forgot to add alpha value to calendar color after retrieving
from the color array

Bug: 2432959
Change-Id: I58710a550b374443f39c0ba7acdea9792f1382db
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
37658316f96a7f62a334d1b844f5080cccdd9dbb 04-Feb-2010 Marc Blank <mblank@google.com> Use a single account color resource table; add convenience methods

* The color chip resource table was duplicated in three files
* Move these into a common location in Email.java and add
convenience method for retrieving color chip resource id based
on accountId
* Simplifies future changes to account color selection
* Add RGB color information on these resources (provided by
rfulcher) and add a convenience method for retrieving these

Change-Id: If1c2d22fba91cfce46a2618cd2b73cf7a534ce51
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
faed6178b1858f0e6df388a409d14fb3f94afefa 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java
dc6930c0b36950d420c8da0e70164c5c4e083fbe 29-Jan-2010 Marc Blank <mblank@google.com> Additional work on new Event upload to EAS server

* Added support for reminders and recurrences
* Note that Duration class is copied from CalendarProvider with only
formatting changes

Change-Id: Icf399df422f813ba8e7880646bfbc96a2156a204
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
f3fcb8929e3690bc092aec0d4d643b346f079acd 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java
d2cc8327826f33e36308f18bd35f19adff3b56e0 29-Oct-2009 Marc Blank <mblank@google.com> Fix folder deletion; add support for folder rename (#2118439)

* Folder delete had a subtle error that could cause subsequent folder
changes in the same sync to fail (using wrong end tag)
* Folder change (rename, move) wasn't implemented; this was added and
tested. The change is very straightforward and low risk.

Change-Id: Id69cee9b99e9a988a176a6525ba9a1615b741c44
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
cdd477e16a82417fb924abc42a2a834c29fb0db8 01-Oct-2009 Marc Blank <mblank@google.com> Delete attachments for mailboxes/messages deleted by server

Change-Id: Idd94dd0be9e8febe449fd4888fdb911af76618ce
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
7266d90daccee82cb398356defb0c30d95a2ebdd 01-Sep-2009 Marc Blank <mblank@google.com> Make mailboxes respect the sync interval of the Account

* Fixes #2089954

Change-Id: I1b632462ad23da5f024efe2d13ebb11e8e600c67
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
aa69a174774699d452233f8ffece021f9851011e 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java
0cbdba8d62c297c3aad7c833f5f5716eabc2c501 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java
41f367eddf2f1de32443e8c7eb55c0f50e2e09de 20-Aug-2009 Marc Blank <mblank@google.com> Re-enable Contacts sync (had been turned off)
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
9627d014e16235eadf981b9165807dc72a14a383 12-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: update body on save.

- plus unit tests.
- and some attachment refactoring.
- move PROJECTION_ID up to EmailContent.
- add index on messageKey to Attachments and Body tables.
- add missing Columns.ID field in EmailContent.
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
6b52af214c9961d8d11220a851a24928a5b91553 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java
1ba0fd37a158c1477025aa530206fefdc4b3fe5b 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java
8db0babf726afc4018a721aa589a5ab461630948 12-Aug-2009 Marc Blank <mblank@google.com> Separate syncInterval constants for Account and Mailbox to remove confusion
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
33bc0bd4a5543dc507cc3906ae8352f0eb4f779d 12-Aug-2009 Marc Blank <mblank@google.com> Fixes re: CL20440, per stadler's comments
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
fc579d4477ed3632de0a04678ea490875de85eff 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java
b9d6ba11c729d3ae6a59ceae780d9bd54032d6dd 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java
e7e999ee951ece53daff5cfc58504a627f065f51 03-Aug-2009 Marc Blank <mblank@google.com> Send OPTIONS less frequently; remove extraneous Log command
/packages/apps/Email/src/com/android/exchange/adapter/FolderSyncParser.java
f00dccd32125c727cc18d837b59c15c95f5d78bc 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/Email/src/com/android/exchange/adapter/FolderSyncParser.java