Commit Graph

169 Commits

Author SHA1 Message Date
Andrew Stadler
48c8cc34b7 Add "favorite" star to MessageView
* Shown next to subject (non-final layout)
* Value taken from provider data
* Tapping star toggles state
* State writes back to provider

NOTE:  I am currently doing the provider writeback via direct provider
calls (using the synced-message URI) but not doing it with a service call,
so at this point there is no triggering of any server-side update.
However a sync engine might "discover" the change.

NOTE:  I made a global change of "mMessage" to "mOldMessage" because
there is still a lot of legacy code in MessageView and I wanted to clearly
demarcate the code that still needs to be redone.
2009-07-01 12:11:47 -07:00
Andrew Stadler
7c3de93429 Add attachments, favorites, and selections to MessageList.
* Attachment icon is displayed when message.mAttachment != 0
* Favorite icon is set/cleared from message but not clickable
* Selection icon is not clickable

Further progress requires implementing a custom child view which can
handle sub-clicks properly.
2009-07-01 10:47:23 -07:00
Andrew Stadler
4765472db8 Add MessageList activity
* Add MessageList Activity class and Manifest entry
* Add appropriate layouts, views, etc.
* Wire into FolderMessageList

Lots to do, but this gives us a useable screen.
2009-06-30 15:15:07 -07:00
Mihai Preda
b7e954bba6 Fix ConcurrentModificationException in MessagingController.
The exception was caused by removing from the HashSet (in Controller.java)
while iterating over it. The locking offered no protection in that case.

Extracted the notification of listeners (MessagingListener) in separate class
to simplify reimplementation.

Got rid of a couple of generic catch(Exception) that were hiding surprises.
2009-06-30 11:22:43 -07:00
Andrew Stadler
ddc871d9ed Fixed a few EmailProvider omissions; added tests
* EmailProvider query wasn't handling queries for deleted messages
* EmailProvider wasn't catching exceptions on some 'drop table' ops
* Added tests of synced messages (delete and update)
2009-06-29 23:08:40 -07:00
Takaoka G. Tadashi
2ed5063274 am 4f23ebd3: Fixed Pop3Store to be able to delete message in Inbox.
Merge commit '4f23ebd3dcca596533a33e6faedb446a814d32e3'

* commit '4f23ebd3dcca596533a33e6faedb446a814d32e3':
  Fixed Pop3Store to be able to delete message in Inbox.
2009-06-29 20:20:23 -07:00
Marc Blank
73018c31d6 Add new mailbox types for use by EAS 2009-06-27 17:21:44 -07:00
Marc Blank
f374304e92 Add support for sync related provider operations
There is now a deleted table as well as an updated table for Messages,
and some new URIs that are well documented in EmailProvider
2009-06-27 14:41:41 -07:00
Takaoka G. Tadashi
4f23ebd3dc Fixed Pop3Store to be able to delete message in Inbox.
When delete policy is DELETE_POLICY_ON_DELETE, PENDING_COMMAND_TRASH
will be invoked. But in POP3 account, because of 1) Inbox is
OpenMode.READ_ONLY, 2) getMessage(uid) just after open() is not work
correctly, 3) remote Inbox folder is not closed after deleting message,
PENDING_COMMAND_TRASH does not work.  And also the fat that some POP3
server use UID with '-' prevents PENDING_COMMAND_TRASH to recognize
the message is remote message.

Internal Bug: 1651709
2009-06-26 10:36:27 +09:00
Andrew Stadler
7143d969dd Add unit tests for Provider and fix bugs that were found
Uses a mock provider to avoid touching production databases.
Includes utilities for creating accounts, mailboxes, and messages.
Tests basic object creation & readback, object deletion, and some
forms of hierarchical deletion.  Has many TODO notes for additional
tests to be written.

In EmailContent, found & fixed a few fields that weren't being written to
the database properly.
2009-06-25 00:02:29 -07:00
Android (Google) Code Review
c3905eccdd Merge change 4842
* changes:
  Don't drop invalid addresses while editing & check that all addresses are valid before send.
2009-06-24 15:49:02 -07:00
Mihai Preda
ed0e683d86 Don't drop invalid addresses while editing & check that all addresses are valid before send.
BUG: 1542391
add unit tests.
2009-06-24 15:44:08 -07:00
Andrew Stadler
5f4dbd6438 Attempt to download small messages, and POP messages.
POP doesn't supply headers in the ENVELOPE phase, so we have to
explicitly ask for, download, copy, and save small message bodies.

Fix bug in EmailProvider (it was not always detaching the body db),
leaving the DB locked in some situations.

Problems outstanding:
* POP messages are committed before they have headers, which leads
to blank entries in the UI.  It might be worth tagging them and
selecting them out until they're ready to display.
* Inefficient because we're reloading the message from the provider on
each pass, instead of hanging onto it and updating it.
* Not marking "complete" yet because we aren't handling attachments
or inline images yet.  So we keep on reloadin'.
2009-06-24 12:48:57 -07:00
Marc Blank
2c67f1f8b8 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)
2009-06-23 13:13:42 -07:00
Andrew Stadler
553603337a Quick cleanups of FolderMessageList and MessageView
Show date/time properly
Unpack from, to, cc, bcc
2009-06-22 21:56:04 -07:00
Andrew Stadler
7b0b463477 List messages from MessagingController & Stores.
* update MessageListener callbacks and remove the callbacks that
  edit data (this comes through the provider now).
* provide simple linkage via Controller to sync a mailbox
* update FolderMessageList to trigger mailbox sync
* rewrite synchronize to push messages into provider
* small improvements to FML (sorting;  show read/unread status)
* note: trailing whitespace cleanup in some files
2009-06-22 16:13:03 -07:00
Marc Blank
33e176f491 Remove the bodyId column in the message base for consistency
Foreign keys belong in the child, not the parent, as is done with other
EmailContent classes.  Therefore, Body has a messageKey, and Message has
no bodyKey.

Updated MessageView to use the proper query for retrieving a message body.
2009-06-22 12:13:06 -07:00
Andrew Stadler
07871c4ce7 Clean up code to delete account & delete mailbox.
Delete account was already written but needed to be cleaned out (and
removed vestiges of LocalStore code as well.)

Delete mailbox required some new code in listFolders.  This happens
every time we refresh an account.
2009-06-22 11:39:40 -07:00
Mihai Preda
6c5460886f am a4926736: Review Email tests annotations (small/medium/large) and change some annotations based on time.
Merge commit 'a492673609111fe8c41ae152d62547b267346502'

* commit 'a492673609111fe8c41ae152d62547b267346502':
  Review Email tests annotations (small/medium/large) and change some annotations based on time.
2009-06-18 13:12:45 -07:00
Mihai Preda
a492673609 Review Email tests annotations (small/medium/large) and change some annotations based on time.
Fix an NPE appearing when running the test suite.

BUG: 1566281, 1910409.
2009-06-18 12:16:28 -07:00
Andrew Stadler
bcec088320 Begin implementation of new master controller
The first thing we'll implement is a function to list remote folders,
and it will call the existing MessagingController to do that for IMAP
and POP3.

Also change default folder type # order to get desired order in UI
2009-06-17 16:15:37 -07:00
Android (Google) Code Review
19fd130680 Merge change 4482
* changes:
  Add URI's for updated messages, and Provider support for them
2009-06-17 11:26:11 -07:00
Marc Blank
e34525d0f0 Add URI's for updated messages, and Provider support for them
Messages that have been updated in the database live in a different table
and therefore can't be accessed in the provider without the added support.
2009-06-17 11:20:32 -07:00
Mihai Preda
94386cce2a am aeeefedb: Thumbnail cache file should be deleted when AttachmentProvider is created.
Merge commit 'aeeefedb43c40e887850654ac88270755f5631c1'

* commit 'aeeefedb43c40e887850654ac88270755f5631c1':
  Thumbnail cache file should be deleted when AttachmentProvider is created.
2009-06-16 16:43:07 -07:00
Mihai Preda
50a24d5e95 am 075e9d51: Added recursive limit check to renderAttachments method.
Merge commit '075e9d5104c0e23a6188677f5c9e99fcbcfdbc60'

* commit '075e9d5104c0e23a6188677f5c9e99fcbcfdbc60':
  Added recursive limit check to renderAttachments method.
2009-06-16 16:42:49 -07:00
Mihai Preda
d250bcd5cd resolved conflicts for merge of a830816f to master 2009-06-16 15:51:11 -07:00
Marc Blank
1f5a93936b Fix to bug in Message.save 2009-06-16 11:26:40 -07:00
Mihai Preda
aeeefedb43 Thumbnail cache file should be deleted when AttachmentProvider is created.
Integrates CL 149651 from p4 Docomo email.
Bug 1902523.
2009-06-15 18:35:38 -07:00
Mihai Preda
075e9d5104 Added recursive limit check to renderAttachments method.
Integrates CL 149561 from p4 Docomo email.
Bug 1897000.
2009-06-15 18:10:29 -07:00
Mihai Preda
a830816fe2 Updating attachment thumbnail after attachment or inline image has been downloaded.
Integrates 149560 from Docomo email.
2009-06-15 18:01:19 -07:00
Andrew Stadler
b5903285dd Enable MessageView using provider.
Very primitive, just shows a few headers, and no navigation at all (you
can only go "back" from here.
2009-06-15 16:46:38 -07:00
Andrew Stadler
1da551bd08 Fix build break, master # 4712 2009-06-15 15:21:43 -07:00
Marc Blank
a290f503f1 Refactored EmailStore, EmailContent, EmailProvider
EmailStore goes away, replaced by EmailContent
All database activity is moved to EmailProvider
2009-06-15 14:49:11 -07:00
Andrew Stadler
879318ee30 Add message list (from provider) to FolderMessageList.
1.  Use proper AsyncTask for all cursors
2.  Convert to CursorTreeAdapter and get data from cursors
3.  (Temporarily) block all context menus and other things that would
    crash.

With this CL you can view folders and see the message list but you cannot
view the messages (that's next).
2009-06-15 09:25:39 -07:00
The Android Open Source Project
a244abdad0 Do not merge. Merge commit '14f3e16' into donut 2009-06-15 00:08:40 -07:00
The Android Open Source Project
14f3e16793 IA 149719: Display Bcc: field if present... 2009-06-15 00:01:17 -07:00
Andrew Stadler
13b92c618e Convert Accounts activity to use AsyncTask 2009-06-10 15:53:02 -07:00
Mihai Preda
0dff228dc7 AI 149714: Download inline images for viewing if necessary and don't
delete attachment cache files if these are inline images.
  The purpose of original logic of loadAttachmnet() is to keep
  at most one attachment cache, probably to limit the size of
  cached file.  But it also purges all inline images.
  Integrates CL 149551 from DocomoEmail.
  BUG=1884385,1860250

Automated import of CL 149714
2009-06-10 10:48:32 -07:00
Andrew Stadler
68a9ccfcde final cleanups to get basic message operations working properly.
* Generate compatibility UUID early enough to stick, so our localstore
db's are created correctly and not recreated over and over again.
* Compose menu items working
* Fix single-account mode (go straight to inbox)
* Lightweight Account projections where possible
* Properly show/hide default account checkbox (during new acct screens)

What works:
* All unit tests
* Editing existing accounts
* Create new accounts
* Checking account settings against server
* Mail sync using accounts
* Viewing mailboxes
* Viewing messages
* Composing messages

What breaks (in approx order of planned fixes)
* Some details of account editing
* Import of existing accounts
2009-06-09 16:13:05 -07:00
Andrew Stadler
d2b0efa2f5 Cleanup broken unit tests from previous submit. This now works:
What works:
* All unit tests
* Editing existing accounts
* Create new accounts
* Checking account settings against server
* Mail sync using accounts
* Viewing mailboxes

What breaks (in approx order of planned fixes)
* Viewing messages
* Composing messages
* Some details of account editing
* Import of existing accounts
2009-06-09 14:46:30 -07:00
Andrew Stadler
c0033f24a2 Convert remainder of app to use provider-based accounts
What works:
* Unit tests, except for com.android.email.activity.setup.*
* Editing existing accounts
* Create new accounts
* Checking account settings against server
* Mail sync using accounts
* Viewing mailboxes

What breaks (in approx order of planned fixes)
* Unit tests in com.android.email.activity.setup.*
* Viewing messages
* Composing messages
* Some details of account editing
* Import of existing accounts
2009-06-08 15:42:40 -07:00
Mihai Preda
7ac2b6e048 am a9576bda: resolved conflicts for merge of 7403a54738 to donut
Merge commit 'a9576bdad6d9711c9e790fdbad3cbb1ab5c5fb03'

* commit 'a9576bdad6d9711c9e790fdbad3cbb1ab5c5fb03':
  AI 149664: Move escapeChar from MessageView to EmailHtmlUtil.
2009-06-08 12:23:43 -07:00
Mihai Preda
a9576bdad6 resolved conflicts for merge of 7403a54738 to donut 2009-06-08 20:52:12 +02:00
Mihai Preda
7403a54738 AI 149664: Move escapeChar from MessageView to EmailHtmlUtil.
Integrate CL 148437 from DocomoEmail.
  BUG=1860250

Automated import of CL 149664
2009-06-08 11:21:18 -07:00
Andrew Stadler
294a4fd0c6 Enable creation of new accounts using provider-based accounts.
What works:
* Editing existing accounts
* Create new accounts
* Checking account settings against server

What breaks (in approx order of planned fixes)
* Some details of account editing
* Viewing mailboxes & messages
* Mail sync using accounts
* Import of existing accounts
2009-06-05 16:09:18 -07:00
Mihai Preda
da93b380d1 am 23a27697: Merge branch \'readonly-p4-donut\' into donut
Merge commit '23a27697963642d6450b70dd83709492c1bdde72'

* commit '23a27697963642d6450b70dd83709492c1bdde72':
  AI 149607: Add relevant title to attachment file chooser.
2009-06-05 11:41:33 -07:00
Mihai Preda
c4a9e52f49 am cf4a3aea: Merge branch \'readonly-p4-donut\' into donut
Merge commit 'cf4a3aea3fa31210deca572c6c933034036fe558'

* commit 'cf4a3aea3fa31210deca572c6c933034036fe558':
  AI 149604: Localized the special folders name in FolderMessageView.
2009-06-05 11:41:21 -07:00
Mihai Preda
84bba2c57b am 9c629105: Merge branch \'readonly-p4-donut\' into donut
Merge commit '9c62910550ee132ead267fa465a726f917db7fd0'

* commit '9c62910550ee132ead267fa465a726f917db7fd0':
  AI 149603: Show progress dialog while loading attachment. Fixed possible ArrayIndexOutOfBoundsException in message view.
2009-06-05 11:41:20 -07:00
Mihai Preda
8043caa55a am 4dad6670: Merge branch \'readonly-p4-donut\' into donut
Merge commit '4dad6670724a57e560aac3d07bfda0a1f05fd2f2'

* commit '4dad6670724a57e560aac3d07bfda0a1f05fd2f2':
  AI 149600: Fixed message view web link be more robust.
2009-06-05 11:41:05 -07:00
Mihai Preda
23a2769796 Merge branch 'readonly-p4-donut' into donut 2009-06-05 11:38:31 -07:00