History log of /packages/apps/Email/src/com/android/email/mail/Folder.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c41c47fa07a22f8a7612fb0191f152a36d95b7a5 25-Sep-2009 Andrew Stadler <stadler@android.com> Enable message upload

* Create logic to detect upsyncable messages in Sent
* Note: Drafts is now local only for IMAP - no sync, either way
* Rewrite MessageController.processPendingAppend for Provider world
* Write provider message -> legacy message converter
* Fixed bug in IMAP APPEND (it was not picking the right UID for the
uploaded message.)
* Better handling of server internaldate
* Add constants for new X-Android-Body-Quoted-Part header
* Add EmailContent routines to get each of the 5 parts of the body
* Remove "Load more" from unsynced message lists
* Add toString to MimeHeader for debug support

Bug # 2097471

TODO (next CL): Upload attachments records too

Change-Id: I209182f5adc6b6696919f559e3cbbdd58b3eed3a
/packages/apps/Email/src/com/android/email/mail/Folder.java
0d1078363581db8caded06cf94e729e88a88761a 19-Aug-2009 Andrew Stadler <stadler@android.com> Finish loading large IMAP/POP messages

* Handle messages >25k
* When structure is available (e.g. IMAP) pull in the entire body
and the list of attachments
* When structure is not available (e.g. POP) pull in a large chunk of
the body to try and capture the message body at least.
* Implement loadAttachment for IMAP/POP to demand download large items
* Tested with IMAP & POP messages

INCOMPLETE (file bugs):
* implement logic for the old loadMessageForView calls that comes from
MessageView (when you open a message that's partially-loaded)
* Resolve handling of mimetype when attachment info is read (currently
we're assuming base64 in a couple of places)
* delete account => delete attachments
* delete attachment => delete file
* create account => clear existing attachments for acct id
/packages/apps/Email/src/com/android/email/mail/Folder.java
235609d04e95db2097efcc3c999a8fbd6c1ae23e 06-May-2009 Andy Stadler <nobody@android.com> AI 148334: Provide a new entry in MessageUpdateCallbacks by which the store can
indicate that the message of interest no longer exists. This is used
in remoteFolder.copyMessages, for example because the message was
already deleted by another client.
BUG=1807499

Automated import of CL 148334
/packages/apps/Email/src/com/android/email/mail/Folder.java
5551f7feb210313aaf3e5a33cdaec5f991ba3288 24-Apr-2009 Andy Stadler <> AI 147714: New, lighter-weight version of CL 147620. Still touches as many files,
due to API change, but still has a smaller footprint. Also fixes the
bug in the original, which is that we actually needed to udpate the
local trash folder, not the remote one.
BUG=1807499

Automated import of CL 147714
/packages/apps/Email/src/com/android/email/mail/Folder.java
b633efa2b7386b814ff5b9cd05af4c1c8a905fb7 24-Apr-2009 Andy Stadler <> AI 147708: Automated g4 rollback of changelist 147620.
*** Reason for rollback ***
We figured out a simpler solution affecting fewer files - we
don't actually need the new remotestore API.
*** Original change description ***
Some stores require changing the UID of a message when it is
copied to a new folder (I'm looking at you, EAS). Add a callback
to Folder.copyMessages() which allows the store to report back
such changes. Then, add a new api to record the new values:
Folder.updateMessages().
For now, the two APIs are linked by a common callsite in
MessagingController, so the existing stores can use a minimal
implementation - if they don't call the callback, nobody will
call the update.
BUG=1807499

Automated import of CL 147708
/packages/apps/Email/src/com/android/email/mail/Folder.java
1df530294d37573e1b1a97bc1c01a43af3127224 24-Apr-2009 Andy Stadler <> AI 147620: Some stores require changing the UID of a message when it is
copied to a new folder (I'm looking at you, EAS). Add a callback
to Folder.copyMessages() which allows the store to report back
such changes. Then, add a new api to record the new values:
Folder.updateMessages().
For now, the two APIs are linked by a common callsite in
MessagingController, so the existing stores can use a minimal
implementation - if they don't call the callback, nobody will
call the update.
BUG=1807499

Automated import of CL 147620
/packages/apps/Email/src/com/android/email/mail/Folder.java
3f66d3de11400cdaca7ceb0cbfae9ab3d5783a9e 23-Apr-2009 Andy Stadler <> AI 147486: Change the remote/local mapping callback to be folder-by-folder instead
of for the entire store.
BUG=1807499

Automated import of CL 147486
/packages/apps/Email/src/com/android/email/mail/Folder.java
29bbfd0b971a7afca9e61f9475036f3b53f0209c 22-Apr-2009 Andy Stadler <> AI 147401: Redo the implementation of store-specific flags to allow
deeper database-style operations with them. This enables two
new LocalStore APIs to be provided: A new version of
GetMessages() that can retrieve only flagged (or un-flagged)
messages, and a new method to set flags for an entire set of
messages, in a single SQL transaction.
BUG=1786939

Automated import of CL 147401
/packages/apps/Email/src/com/android/email/mail/Folder.java
1f48259d22001f3e745e34e1bf142dfaf6cad94b 15-Apr-2009 Andy Stadler <> AI 146360: Provide an API by which the server (or store) can tag some
of the role-specific folders such as Drafts, Sent, or Trash.
This allows us to properly target these folders even on
systems where they have different names. I capture the
tagged names into the existing columns in the account data,
where they are used elsewhere in the code (no changes
necessary).
Use default implementations on POP3 and IMAP for now -
no change from original behavior. The new code is
primarily to support EAS (for now).
BUG=1790798

Automated import of CL 146360
/packages/apps/Email/src/com/android/email/mail/Folder.java
c6039f7d17eea53ea7aa59dfade42d9546440929 14-Apr-2009 Andy Stadler <> AI 146134: Add persistence API for remote stores & folders to use while
syncing. This provides a key-value store, per folder, that
can be used by network Stores to record persistent data such
as sync status, server keys, etc.
Note that, by definition, this only applies to remote folders
(e.g. IMAP, POP3). You'll see everywhere that LocalFolder is
passed null, and this is correct - LocalFolder *is* persistent
storage and does not need external help.
Note to reviewers: The core changes are Folder.java,
LocalStore.java, and LocalStoreUnitTests.java, so please give
them the bulk of your reviewer attention. The other files
are just following along with minor API changes. Of those,
the one worth close examination is MessagingController.java,
which is the only place in the system where remote Folders
are bonded with Local Folders and thus where this new API
comes into play.
Note to jham: Can you please take a look at
LocalStore.LocalFolder.setPersistentString() and recommend
better SQL foo than my primitive test-then-update-or-insert
logic, which is not transactional or threadsafe.
BUG=1786939

Automated import of CL 146134
/packages/apps/Email/src/com/android/email/mail/Folder.java
96c5af40d639d629267794f4f0338a267ff94ce5 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/packages/apps/Email/src/com/android/email/mail/Folder.java
8c2158a5ebb88e226c23b66ff95910158a2727df 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/packages/apps/Email/src/com/android/email/mail/Folder.java
687f9962d7095e18ef994cd0e64337f02ed1a5bd 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/packages/apps/Email/src/com/android/email/mail/Folder.java
8978aac1977408b05e386ae846c30920c7faa0a6 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/packages/apps/Email/src/com/android/email/mail/Folder.java