Now attachments are actually stored in an explicit list, instead of
being inferred from the state of the UI. This makes it possible to
switch states and restore attachments, and test.
Change-Id: I8c5f80f17f8c9e78d880ac4a1ac6ae22c2ec0579
In order to provide a bit more granularity for content observers, we add the
operation (e.g. "insert", "remove" or "update") as well as the id of the row
that has changed (if it's known).
Change-Id: I214d3c030872f888cde1a2db9b6b46f1bb121b7a
...so that we can easily reuse it for the one pane UI controller.
The one pane controller should eventually have its own action bar
controller, but we can use it for the time beeing, until we get
more detailed UI spec.
Change-Id: I10c92963350dad9eb834fd7474c597aedad5eb80
If we receive new messages, we may display a notification to the user. If
those same messages are read elsewhere (i.e. via a web client), we will
remove the notification.
Change-Id: Iba09afe01942e0deaac8210fd6f9b315b1c8c93f
There is no invariant in the controller that the fragments it references
are non-null, so querying the fragment for state is not always valid.
Change-Id: I880053be4000260b03b54ed8741e646b01314e0d
from Mailbox/MessageListFragment.
This fixes some issues with screen rotation.
(We still reuse MessageViewFragement for the phone, but this should eventually
be cleaned up too.)
Also removed obsolete comments/TODOs.
Bug 4341517
Change-Id: Ib3e713ccab023151c1c47d7d7e4cd1c0de74039d
* Before the Email/Exchange split, EmailProvider was guaranteed not to return a null
cursor; this is no longer true
* We now throw a new RuntimeException (ProviderUnavailableException) when calling
commonly-used utility methods (e.g. restoreXWithId) and the cursor as returned from
EmailProvider is null (which implies that the provider isn't available).
Change-Id: I152d13bff0129c23586cd570d23c87d69cfce372
* Update sync window options to include "Automatic" and "All"
* Make the default (for new accounts) "Automatic"
Change-Id: Icbc696f55abcfad79e66079ebb414ca50778dcaa
This is a lot of code moves to make the asynchronous loading process
more explicit in nature:
- separate out code path for state restoration and intent resolving (no
need to over-write mAction now)
- separate out code path for draft loading and source message
loading
- fixes an issue where loading a message accidentally set the draft
message instead of the source message
- makes it possible to switch reply/replyall/forward since now
processing a source message doesn't do crazy things
Bug: 4375775
Change-Id: I5b3a7ac9ed031abe88f9358df9cd46408dd1e9f9
* Replace crazy (and soon to be "full") bit fields stored in an account's
securityFlags with a row in a newly created Policy table (thus, fully
expandable)
* Update code from database version 17 to 18; adds Policy table, a
policyKey row in Account, and a revised trigger that deletes Policy
information for deleted Accounts
* Update old PolicySet unit tests to work against the new Policy class
* Add test for the conversion of securityFlags to Policy
* Tested in a variety of scenarios; appears to be functionally equivalent
Change-Id: I1505ee75230d6a0d3c2b62a46326f39c2c7f9eb5
- "save draft" no longer closes the message
- ensure consistent state if there are successive saves
- misc changes to the way a message is loaded if there is a pending save
Bug: 3072398
Change-Id: I9cd01319772293e4d410020ab27603821a95ec9f
This is a simple change to move +cc/bcc and +attachment action buttons
from the options menu to the visible UI (like honeycomb).
No attempt was made at styling the actual fields yet.
Change-Id: Ia1de8dbcf5e9ec9f7d3be3787cab657a2df72d70
* javadoc methods
* rename some methods
* remove duplicate code; now new message and other account notifications
are created with the same code
Change-Id: Iecf70494b6407a9a73380de103390a59d006191b
- Now all the UI stuff is owned by the UI controller
- Except temporary UI (exchange search and per-mailbox-settings)
- Except error banner
This should be moved too eventually, but I consider it as a low-priority.
I'll leave it as-is for the time being.
- Moved RefreshTask too. The spec for refresh has dependency to the UI.
(i.e. implicit refresh of the mailbox list may not be necessary for
the phone.)
Also renamed the main activity to EmailActivity.
Change-Id: I00585856bdacf69aa4e104178a5cf7352ff6d592