History log of /packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6534bd5e100625c653c9fba09243bbb67a9023c7 05-Aug-2011 Marc Blank <mblank@google.com> Fix problem with SmartReply/Forward and deleted messages

* Please read bug 5112318 for a full analysis of the issue being
fixed in this CL
* When a send fails with an HTTP 500, and that send uses a "smart"
command, we retry the send without the "smart" command
* Also handle status 150 for EAS 14 (equivalent to HTTP 500)
* A little bit of cleanup

* Bug: 5112318

Change-Id: Id8325cd324cdc27f3b65b1d14d76da1ead80255c
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
83352b933def4cff612ba40895e86c971043e1fb 19-Jul-2011 Marc Blank <mblank@google.com> Respect the "not include quoted text" flag for Smart reply/fwd

* EasOutboxService wasn't respecting the (relatively newly added)
flag indicating the user's preference for sending quoted text

Bug: 5037805
Change-Id: I8ed9ca5714b4891db670540aee498e599e1f1c25
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
c0dce2284e50f2b638bad8c1fa6e2028e46ea5d9 08-Jul-2011 Marc Blank <mblank@google.com> Add traffic flags to EAS sync

Bug: 4988322

Change-Id: Ifcdcc0d6bd21f7c9f17b0a7e00dfcdc664bc6e27
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
3d6d254c2503e317b9b0873dc6a638c974f705f4 01-Jul-2011 Ben Komalo <benkomalo@google.com> Make client certificate requests optional.

This prevents things from always failing if the server requires a client
SSL certificate.

Note that the solution used to determine if a certificate request was
made for a given request is approximate; it is timestamp based and can
theoretically give a false positive. In practice, this is very unlikely,
since another cert request had to have happened around the same time,
AND the response must be a 401/403.

Change-Id: I726b32200ed784debfa72f033f61c71bfbc2ea10
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
abf1a363797fa4863b8a82b8579242c27ca61649 24-Jun-2011 Marc Blank <mblank@google.com> Handle reply/foward of EAS search result

Change-Id: I4a227364e474cd320d1f4897fc8169dd2ac8f38e
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.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/EasOutboxService.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/EasOutboxService.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/EasOutboxService.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/EasOutboxService.java
cbed192ab0005ef5ce604b03252669720639f6cb 01-Mar-2011 Todd Kennedy <toddke@google.com> Change "appendQuotedText" to "useSmartReply" in Rfc822Output

Slight API change to make it more clear what the method parameter is for.
Also add some additonal test conditions to the Rfc822Output tests.

Change-Id: Ifc98ae4a9eaa5f6d6b5d3ef869ebbc6edd913d3e
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
220686b40eb4cdeed35b1035dc3ad79842e4ce6e 25-Feb-2011 Marc Blank <mblank@google.com> Prepare for separate Exchange application

* Remove reference to certificate in Android.mk (the certs will
be derived from the directory, i.e. Exchange vs ExchangeGoogle)
* Remove sharedUserId and process name from manifest
* Change loadAttachment to use AttachmentProvider to open attachment
files for writing
* Always retrieve deviceId from Email app

Bug: 3442973
Change-Id: I70ddb4d2971e481b0d4def09944e54d23ef431ec
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.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/EasOutboxService.java
58dac270fd3a2fb1ff6cb5287ef9b61ea5080e41 09-Feb-2011 Marc Blank <mblank@google.com> Email split, part one: EmailService

* Create emailcommon package
* Move EmailService classes to emailcommon package
* Change references to aidl's to emailcommon package
* Add getApiLevel() command to EmailService

Bug: 3442973

Change-Id: Ic7d2115363cdff6ebb86c46650b0a5b2109b1c72
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.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/EasOutboxService.java
6f61d1668fe8cae1bf01488ea4752a51d48fbb58 10-Aug-2010 Marc Blank <mblank@google.com> New asynchronous attachment loading code

* Create AttachmentDownloadService to manage all attachment downloads
1) User requested
2) Required for email forwarding
3) Opportunistic downloads to enhance offline use
* New attachment related UI (pending UX approval, of course)
1) MessageView (attachment actions, progress bar, etc.)
2) MessageCompose (attachments for forwarded messages)
3) Associated toasts, notifications, etc.

TODO:
* Unit tests
* Cache Management (separate CL)

Change-Id: I7864a5fb1c3f4f2be68d98341a971edc6cbacfe1
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
6a8ab6e2e80eeabe2555eef1e39dc8b830bd6056 06-Jul-2010 Marc Blank <mblank@google.com> Fix SmartReply/SmartForward in EAS 2.5

* We inadvertently broke this with a recent update that uses Uri
encoding for ItemId and CollectionId in SmartForward/Reply commands.
We need to allow colon (:) however for EAS 2.5; otherwise, sends
fail with HTTP 500
* Update unit test

Bug: 2821684
Change-Id: Ia6bdd2169513d1c13a8174dd599477a35df950f2
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
8eeede0d74ba2b139ce96d883541f12a562cc17e 28-Jun-2010 Marc Blank <mblank@google.com> Fix problem with unencoded data in URI sent to EAS

* We need to encode the itemId and collectionId for SmartForward and
SmartReply
* Add unit test for the fix
* Small change + test to EasSyncService usage of URI encoding to use
a non-deprecated method

Bug: 2787725
Change-Id: I428b308b56cc359b8cdd9e42bc3f42c65b6797dc
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
c8dc8009bcbb9dbf781f0028f07b2bbca600aeeb 21-Feb-2010 Marc Blank <mblank@google.com> Send meeting invitations for new/updated Exchange events

* Wrote utility to create an ics file (iCalendar) based on a
CalendarProvider Event. This is a good first pass, but we need
to consider whether to include alarms, etc.
* Use aforementioned utility and new convenience method to send
meeting invitations to attendees of newly created meetings (events)
when they are uploaded to the server via the CalendarSyncAdapter
* Overall, attempted to modify existing provider and rfc822 output
code as little as possible. Rfc822Output is actually very limited
in its capabilities and should be made more robust in future

Change-Id: Ie20b9137df56dc414de6737d05fa40ec9cdf47e0
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
28d918b477d9a6ab790e872aa4170b1ae566cf42 29-Jan-2010 Makoto Onuki <omakoto@google.com> Move non-exchange specific classes to com.android.email.service.
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
8ae559267e89badc9b82b8f947878ae036c5b6a8 10-Dec-2009 Marc Blank <mblank@google.com> Fix delay sending stuck mail after tapping "Send outgoing mail"

* Fixes #2317429
* When "Send outgoing messages" is tapped in Outbox MessageList view,
we clear the error state for all "stuck" messages
* We didn't, however, clear the error state of the Mailbox, which doesn't
clear itself until the end of a pingLoop, which can be up to 30 minutes
* The fix is in two parts:
* We clear the error state of the Outbox when a sync is requested by
the UI
* We don't set the error state of the mailbox for non-auth errors when
sending, because we don't want to block OTHER messages from getting sent.

Change-Id: I768138b6f31eb696811aa94f621b6fa758ec1a5e
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
e4957f03ab45eeaaa895455de2f544c06852356f 09-Oct-2009 Marc Blank <mblank@google.com> Fix problem with timeouts and sending attachments (#2178288)

* Standard Exchange command timeouts are 20 seconds
* For sending, however, these need to be significantly longer to
handle the case of sending large attachments, as sending (of any
length) happens in a single HTTP Post command
* Having an infinite timeout leads to the (small) possibility of the
Outbox hanging for a long time, holding up the sending of other
mail, so we set a long, but not infinite timeout for this case
* Timeout now set for 15 minutes
* Prevent sync of Outbox and Drafts (the UI triggers these by changing
the contents of these boxes, but we need to ignore the pings that
are generated this way)

Change-Id: I5b830d6b4e94525d95138b2112be12898a37882e
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
7681c4fcb3d4f574900918f3603d08158464cf21 23-Sep-2009 Marc Blank <mblank@google.com> Fix EAS sending, which was inadvertently broken by a change in EmailProvider

* syncServerId in the Message table can now be NULL; this broke a test
used by EasOutboxService and SyncManager to determine whether there
were sendable messages in the Outbox
* Changed test to allow for NULL in syncServerId

Change-Id: Id76c7a45bc306abe7a927ab2395700f54a01a298
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
647aa5f1f229947d982548f698c4533fe538f884 18-Sep-2009 Marc Blank <mblank@google.com> Fix problem w/ SmartReply & SmartForward in Exchange 2003

* It doesn't like URLEncoded commands; go figure!
* Fixes #2127892

Change-Id: Ibae8cad990ed45accb6699716fda56f45c850939
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
09d35e5d64d106a77accadcffe39b8e039a38175 18-Sep-2009 Marc Blank <mblank@google.com> Add logging to EasOutboxService to help find sending issues

Change-Id: I8188fd2977724ae4ee6a8703098b7068c14b92fd
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
349f82df2627e4db2cff5b872c07f0b920375f14 15-Sep-2009 Marc Blank <mblank@google.com> Support bcc in Exchange (Fixes #2117849)

* Must send the bcc header for EAS

Change-Id: I38d119beed334c6bb23a09b87375804f8c03ea76
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
85f44a524693fb6ede88b3b1e683ca7b493d5983 09-Sep-2009 Marc Blank <mblank@google.com> Implement SmartReply/SmartForward for EAS; fixes #2098779

* SmartForward and SmartReply are EAS commands that automatically
include the original message and, if a forward, all original
attachments, regardless of whether they've been downloaded to
the device
* Both commands improve battery life by sending less data; greatly
so for SmartForward if there are attachments

Change-Id: I12432cd5275a3b54e9a80d5cd59da437c4a086cc
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
b2d97333a542c68951a5d64732c6fd56511643f6 20-Aug-2009 Marc Blank <mblank@google.com> Fix bugs re: sending via EAS

* Make sure each call to sendMessage returns a proper result code
* Exit outbox sync on irrecoverable errors
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
f3ae2f9ee2ced1afc5cac4ebad125161726b6c0b 20-Aug-2009 Marc Blank <mblank@google.com> Implement sendMessageStatus callback in EAS

* Change API for callback to include message subject (when msg is isn't valid)
* Update users of callback to add the new argument
* Use API in EasOutboxService to send status messages back to the UI

Still TODO: Add relevant error codes for sending problems that are not related
to connection or login issues
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
7ad79c00d01a68cc0874b5fcae7c487c88b39748 19-Aug-2009 Marc Blank <mblank@google.com> Fix message sending from EAS (the service wasn't properly set up)

* Cleanup of EasSyncService
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.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/EasOutboxService.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/EasOutboxService.java
b25c461732935624b380a4e87b53e2968f281b27 13-Aug-2009 Andrew Stadler <stadler@android.com> Update SMTP to send from provider messages, and attachments

* Change Sender definition (remove old Message from API) and update
any existing calls through that API
* Rewrite SMTPSender to use provider messages
* Add attachments to RFC822Output
* Minor bugfixes in RFC822Output
* Unit tests
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
9e93e3403ad25add433cb9d2cb0f8cb9154e57ee 12-Aug-2009 Marc Blank <mblank@google.com> Stream rfc822 messages to a temporary file, and send using an InputStreamEntity

* Removes the need to store the entire outgoing message in memory
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
22249e63ac029c91390cda63b69fb3be6f08f30e 12-Aug-2009 Marc Blank <mblank@google.com> Use new Rfc822Output class for sending mail; fix bug in Rfc822Output

* Change EasOutboxService to use the new Rfc822Output class for sending
* Fix small bug in Rfc822Output (was writing both in Base64 and plain text)
* Fix bug in SyncManager related to auto-starting EAS outbox
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
8047ef058e41c164c2c8ab230ae8d123f042c167 08-Aug-2009 Marc Blank <mblank@google.com> Switch from HttpURLConnection to HttpClient
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.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/EasOutboxService.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/EasOutboxService.java
9c372c2d190be270306e6df838599e4fe9d011b5 24-Jun-2009 Marc Blank <mblank@google.com> Clean up Exchange code

Clean up imports to point to the com.android.exchange version of EmailContent
Clean up some line wrapping
Update EmailContent with latest version from Email project
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java
576b58578e9b42910c91fc9d838188e2673140ab 16-Jun-2009 Marc Blank <mblank@google.com> Initial submission for EAS support (email)

* There is some temporary code ensuring that SyncManager runs (this will be removed when Exchange
is entirely independent)
* The service interface (aidl) is in place for most user-facing actions (load more, start sync, etc.)
* EAS account validation is done via aidl
* Folder and message sync appear to be functional in this early submission
* Provider now does cascading deletes (Account -> HostAuth and Mailbox, Mailbox -> Message,
Message -> Attachment and Body)
/packages/apps/Exchange/src/com/android/exchange/EasOutboxService.java