This enables the client of the provider to suppress the email combined
account. Later, the UI can enable a combined account that spans all of
the account types
Change-Id: I77e201f751019240af2274a1f74e2124b9889aab
For Email the order key is the message timestamp, Gmail sortMessageId. The
order key is then used as the sort key for notificatin api, and because it is
stable, notification bridger can avoid bridging duplicate notifications and
reodering the email card bundle on the watch.
Bug 15563260
Change-Id: Ie68f45de91cc42c58238b7cdc0ae828048e22a46
This doesn't need to be part of the service because the
implementation doesn't need to be different between any
of the different protocols.
Change-Id: Ifddf16dd3ccaf397029f08f6d4283d9a5630f717
b/14567151
Sanitizes HTML email bodies on demand as they are requested from
EmailMessageCursor. Also alters Account settings to indicate that emails can be
assumed to be sanitized and transform scripts can be applied to the email
bodies.
Change-Id: I789e6de3569ae8c7d2c21f0b5aa590d7638a1467
EmailConversationCursor eagerly marks all messages in the current mailbox
as being seen. Most of the time it is a redundant operation, but nothing
prevents the provider from broadcasting notifications and all of the
observers from dutifully reacting to the notification. A good deal of
work is avoided now that we only notify when rows in our database have
actually been altered.
Change-Id: Ie91e6aebaf9c2899510f3818586d582073954d16
b/14914981
The framework may make copies of the URI objects before they're passed in,
so we should use .equals() instead of pointer equality.
Change-Id: Ia443e96c81d53829ac6cfce70cebc098861f1c78
b/11998344
This solution covers these use cases:
1) Inline images in the Email app.
2) Inline images in .eml attachments in the Email and Gmail apps.
The solution here was to override shouldInterceptRequest(...) in
the WebViewClients and resolve any cid urls that are encountered
within the email body.
EmailProvider and EmlAttachmentProvider both gained the ability to
query for an Attachment object using a message ID and cid (which
is stored in the database column: contentId).
With this new query in place, it was straightforward to fetch the
Attachment in the WebViewClient and then obtain an InputStream to
the file that backs the Attachment to return back to the WebView.
Change-Id: I865a74fc291915c0d66a7492763a5f5682365b92
Fixes b/13748439. Sending with conversation required
server-side changes and wasn't actually more memory efficient.
Arguably it would be less efficient.
Change-Id: I8e1be03e183c65e169da5152a4763d5f80460bb9
Add markContentsSeen() and emptyFolder() to EmailConversationCursor.
Add 'purge folder' URI for delete() call in EmailProvider.
Change-Id: I2f65f877f8f4e8376eb5c2149b5051931c2ac083
These attachments have a contentUri where the attachment ID is not equal
to the ID of the actual attachment.
b/13900073
Change-Id: Ic62b8165be2e80bc47eac40dc9eb5ac53c3cd6c5
The code related to the comment didn't ship as part of Kitkat MR2 and instead will go out with the platform L release.
Change-Id: Ib9ece3390005b5b0217e0c5540322802b1c096ad
b/13304929
The solution being delivered introduces a new folder capability:
UIProvider.FolderCapabilities.SHOW_RECIPIENTS which indicates a folder
should display "To: " in front of its participants list because it
is a folder containing outgoing mail or sent mail (thus viewing
recipients is more useful than senders). This capability is returned
for Drafts, Sent, and Outbox.
Note that extra work was required to make this function properly in
the widget we export to the launcher. See BaseWidgetProvider and
friends for details.
Change-Id: Ie7b077b8dd8934182de5e94a90fa163e8105faac
b/11658428
As per Yu Ping's advice, we alter the storage of all email addresses (from, to, cc, bcc and
replyto) to be stored in *decoded* format within our database. This makes them both human
readable when inspecting the database manually and alleviates the need to repeatedly decode
them before they are displayed anywhere in our UI layers.
As part of this bugfix, I resurrected several tests related to the LegacyConversions class out of
LegacyConversionsTests and into a new (not Suppressed) test class: LegacyConversionsTest
Change-Id: Ie2e3264646e25c08c4ba74f60b3e1090c052e6c6
Disable the code that translates the max attachment size column of
our db to the EmailProvider max attachment size column. They mean
different things as our max attachment size column refers to the max
size of any file that we can download where the EmailProvider's version
represents the max attachment size of a file that we can upload.
Change-Id: I93202766d7b1782c902f17ce20b2823aaf647ec4
table and connect the data to the Settings object in the existing
location (SettingsColumns.MAX_ATTACHMENT_SIZE).
Change-Id: Iaf48995757511e1dfb65aa35ff6d81bbc47187bd
Conflicts:
src/com/android/email/provider/DBHelper.java
b/11061485
HELP and SEND FEEDBACK are now the two bottom-most drawer
items in the Navigation drawer when it is present or in
the overflow menu when it is not present.
SEND FEEDBACK still behaves as always.
HELP has been redesigned so that it displays the help
content in a local webview rather than using an external
browser.
Change-Id: I01003f3cd6f8dedbcfb95ae87872968dfc6be48b
b/11551107
This is caused by ImapConnection.doLogin() only throwing
AuthenticationFailedExceptions and not other varieties of exceptions.
While fixing this bug, I discovered that the ConversationListFooterView
that is displayed in response to a authentication failure contains a
button called "Sign In" that didn't actually do anything. I made it
navigate to the incoming account settings fragment where the user is
free to change the relevant account credentials.
Change-Id: I2c772ecab18f3e57059eceeae01de08f1fdab4c2
b/10847599
This is the second attempt at fixing this bug. The strategy has
changed entirely to accommodate GMail as well as reuse formatting
rules that squish the list of conversation participants into an
abbreviated line for display in conversation lists.
ConversationInfo used to include a List<MessageInfo> which was
used to answer questions about which senders had read which
messages in the thread. This has been removed and replaced with a
List<ParticipantInfo>. The backend should populate that list with
appropriate conversation participants (e.g. recipients of the last
message in the case of Sent, Drafts or Outbox; senders for all
other mailbox types)
Change-Id: I32dcc2a255cccaf06c5976633380b2443729f357
b/11689324
In Jelly Bean, the hardware button has been redirected to always open Google Now by default. But
Email does run on Ice Cream Sandwich and on that platform the hardware search button should invoke
a local search of Email. The issue at play here was that IMAP accounts weren't reporting themselves
as being capable of a remote server search, even though they are in practice. Adjusting this
capability fixes the issue.
Change-Id: I829d08d3bb9c8d09beacc85fe8b5903a8565d178
THIS DOES NOT CHANGE ANY EXISTING FUNCTIONALITY.
Address.pack() has been removed and all calls replaced with its synonym Address.toHeader().
Address.unpack() has been renamed to Address.fromHeader() to follow the new naming convention.
In days of yore, pack() and toHeader() used to do different things. Now they are identical and
thus one is superfluous. We have standardized on toHeader() and fromHeader().
Change-Id: Iac91c966eb6c1477f8dba0dd2ae01c84b359e539