* Add protocolSearchInfo column to Message table; this can be used
to store information related to search results. For IMAP, we
store the serverId of the mailbox that the message lives in on
the server
* Add upgrade code for this column
* Change MessagingController to use the proper serverId for remote
operations, depending on whether the Message is a search result
or not
* Fix some smaller issues with earlier code
Change-Id: I0c7f1d89a4659b95701d02646c0e8426680e2f6a
- All mailboxes will be shown when selecting a shortcut for a normal
account.
- Combined unread won't show up in shortcuts for combined accounts
- only inbox is allowed for IMAP/POP widgets
- all mailboxes allowed for EAS widgets
Bug: 4725896
Change-Id: I5c77c2f5443e330ed451179761b1d9c8c0dd7619
* Update existing database to add this flag for IMAP accounts
* Set flag when creating IMAP accounts
* Change temporary UI to use the flag exclusively
Change-Id: Idefccd3a74d2222fe8a0ba47116dee981a0ae1f5
Highlighting now appears when selecting a quick response. On "insert
quick response" dialog has exactly two lines of quick response shown.
Done also works properly now on the phone.
Known bug: text is not ellipsized. However, this is dependent
on bug 3389545 being fixed by frameworks team.
Change-Id: I7490e139267963d1508fa0573144a10c9190e11c
* At present, we will cache empty cursors (i.e. where the query
result had zero rows)
* If a widget (or shortcut) references a deleted account, this will
create a cached entry for that account, and the defaultAccountId
code will try to retrieve the isDefault column from that (empty)
cursor
* To fix this, we simply skip over empty cursors when looking for
a default account
* We will also look into whether it makes sense to cache zero-
length cursors
Bug: 4883043
Change-Id: Id998506f77bd6cda6cb1f5d8ce65d689dde4d2c5
- actually fires off a new instance of our Activity for search, instead
of killing the old one
- exiting search mode from a search result now works and pops the
activity stack
- doing a new search clears the input box as expected
- the search term is actually shown at the top in the results list
Change-Id: Ia6b92042e26a2e44b8cb45fe1d5b3bfb40cfd6da
There was an assumption that the list view would only contain MailboxListItem's.
Now it's not always the case with the headers like "recent folders".
Also killed the timer thing for the nested navigation during DnD.
Bug 4904006
Change-Id: I4ee756775d0115f3a39086758be69100c19163c9
Also fixed the text alignment in the tabs on the 2-pane message view.
We don't yet to have the full-spec for this, so it's still temporary.
Now we again wrap the webview in a scroll view, so we'll have the "message
keeps growing" issue again. I'll file a bug for this.
It's still temporary, so I didn't remove the scroll views for the
each section (e.g. the attachment tab). Also I had to make up some
colors/dimensions which were unspecified. Also I didn't always define
styles when I should. Let's clean up these things later when we
get more detailed spec.
Change-Id: Ibdb78543f5ec7300f92091d1f8b800ca5edc74b2
* This wasn't working with the new code and the unit test wasn't
testing this case.
* Updated code in EmailProvider and added a test case
Change-Id: I75c23423c4f43e4201d446886d92a5312fa8a084
This will encapsulate meta information about a message list. Notably the
mailbox it's showing OR the search parameters that were used to build
its contents.
Change-Id: Ibe078a700860e7b9426c865e843e899f82306a96
1) Have CachedCursor implement CrossProcessCursor; still need to
figure out how this ever worked
2) Close cursor used internally in findMailboxOfType
Bug: 4869024
Change-Id: Id20d37b7b83e133aa4d5fe9293a42ae217024f01
* Guarantee that up to 16 Account (with HostAuths), and Policy rows
are always cached. Also, 6 commonly used Mailboxes per Account
(Inbox, Outbox, Drafts, Sent, Trash, and Search)
* Precache these rows when EmailProvider starts up
* Ensure that newly added, precachable rows are cached when created
* Clean up some inefficient/wrong caching code
* Fix a commonly called method in NotificationManager in which we
load a single Mailbox row using selection vs withAppendedId
* Confirm that we don't read from the database in typical use and
heavy message loading
* Add a special URI for finding mailbox by type (using the cache)
* Add special-case code for EmailContent.count(Account.CONTENT_URI)
which is used in a number of places (including on the UI thread)
and whose value is easily determined
* Add a special URI to get the default account id
* Confirm that all unit tests work
The goal here is to be able to load all Account, HostAuth, Policy,
and Mailbox objects (by id) without worrying about disk access.
There will still be a single disk read for uncommon Mailbox reads,
but this should be considered acceptable.
Change-Id: Ibc9aa7acc73185e360b0b6f3053b90a985e97210
TODO: Unit tests
On phones it was being pushed out beyond the width of the phone.
Make it so that it fits the whole width in phone portrait, and is fixed
size in landscape / tablets.
Change-Id: Ifc712002c4df38ceb4bd3577f0cbb48114b41115
Instead, in switchAccount, if the account doesn't have Inbox, we'll
redirect to Welcome and close EmailActivity.
(This will easily happen if you add a second account from the system settings,
launch the app and switch to the new account.)
Change-Id: Ia03d8e6697b58f6fcf10fd95fbcb5e310a5b5305
- Show "Your email will appear shortly" during the initial sync
- Don't close self in onStop if it's because of configuration changes.
Change-Id: Ic60f25c58712c599c735b2bede1627d4e102eb6b
If the address of the account is in the reply-to: field (or from: field
when reply-to: is empty), now populates the To: field with the same To:
field on reply.
Bug: 3504182
Change-Id: I17d7fe4be002b302decb8f0dae95f33d452b7adc
We still go through Welcome when the app is launched from account/mailbox
shortcuts or a widget, to clear all existing activity instances, but
when the app is launched from the launcher we just open EmailActivity.
This will get rid of the flicker.
Change-Id: I9bff31fb96e24c125ddc0a1e30a007e6d6ff036d
* These broke when we split Email/Exchange
* We now use a test authenticator and a test account type, which
is actually far cleaner than dealing with actual accounts
Change-Id: Ib7c9f884eac484c33642a8036f47466ce641c567
This hides the main navigation controls when the search view is shown.
It also fixes issues with rotation when in search mode.
Change-Id: I5ffed8eb7549fc603fc4e4d1868d114be65112c3