Previously, we used the service to listen to Intent.ACTION_LOCALE_CHANGED.
This never worked because that intent is broadcasted by the system
and so Services will never receive them. Just use the existing forwarding
infrastructure to send the broadcast to the service.
Change-Id: I50ef625804e76e2348d3fe14686778d54463b78d
When a message is flagged as deleted on the server, but is not yet purged,
we'll see it syncing down with a deleted flag. This change treats that
condition as if the message has been fully deleted.
Also fix a copy/paste error for cleaning up the message modification tables.
b/12367845
b/13137235
Change-Id: Ic741dedc10251775a7afdce171d59efbd2cf1a5f
If we have image/* attachments with "Content-Disposition: inline" we would
fetch the images immediately, then drop them on the floor instead of saving
them to the DB.
Add code to catch these attachments and save them.
b/13132802
Change-Id: I5203bb1aa518aa46cdb3a38ead6f79af63b521ac
b/13085182
You can't look up emailServiceInfo for smtp, we don't store that
in services.xml. The thing is, if we're using outgoing settings,
we're always using smtp, which allows oauth.
Change-Id: I5c6032e8d5020ba83fa1c803666b83f134f87f75
Queue operations through a single ConcurrentLinkedQueue and
service the updates on a single async task to avoid spamming the
async thread task queue.
b/11336926
Change-Id: I8e5c526d61f70fbad0ccef80afd08fc26bb5acf0
Unfortunately, there are problems with making a single
view handle all kinds of authentication and certificate
selection. The layouts for the account settings screen
on phones versus tablets are just too different. So
now the certificate selection code has moved back to the
fragments themselves, and the authenticationView only
handles passwords and oauth.
Change-Id: I1ef0c69687a00029717b836458c85c1b0667ff95
Now the password entry is removed from AccountSettingsBasics,
and the user is taken to either SignInActivity or AccountSetupType
after hitting the next button. This is a lot closer to the
desired setup flow as it allows for oauth signin.
Ideally this is not what we will ship for Algol, but it put us
in a state where we could ship if we had to.
Change-Id: I5b28bccd27c515572e4947ca877bd1772732507d
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
I left an abstract function unimplemented, but didn't realize
because the function was added to the interface in a very recent cl.
Change-Id: I2b091ed284c256e1624633be6a598ff2798075c0
Putting authentication in a fragment was a problem, it
means that we need fragments as children of other fragments.
While this works in theory, it adds a lot of complexity.
Now, authentication is done with AuthenticationView,
which is just an extension of LinearLayout.
Currently, this does not yet handle adding certificates
for exchange accounts, but I'll fix that ASAP. As it is,
this is better than the current state, which crashes on
account setup 100% of the time.
Change-Id: I4274e7250f97012c3dc476003fd36fb960f2b728
This is one fragment that holds all types of
authentication information, e.g. password,
OAuth info, and client certificates. What gets
displayed depends upon the type of account it is
dealing with.
So far this is only used in AccountSetupIncoming,
but later it can be added to other settings fragments.
There are still some issues with this, but I'd like
to check it in sooner than later to unblock other
work.
Change-Id: Iea675ad5c1727f32ca0baa270dfa793ab7109993
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
Now you can authenticate your account using oauth
for google hosted accounts (e.g. google.com, gmail.com)
The setup ui is still not up to spec.
Change-Id: Ib2826653550a823b4d1b8739c1e483746cccbc22
Also, clean up when we create and lose track of ImapStores.
Prior to this we were creating them often, and losing track of them,
which renders useless a lot of the complex logic in ImapStore devoted
to reusing connections.
Change-Id: I771d4e46d0c1cb9b605c43d9cbae6e52f5894745
A small CL to make sure email keeps compiling
and has the same behavior as before.
If Email wants to support long press to view image,
additional work needs to be done on the email side
in order to enable the full functionality.
Change-Id: I8e7cbdf2a2eee452fe9597097b77db5c8052d7fe
Now it logs stack traces of exceptions, and does not use
exception.toString() as the format specifier, which can be
dangerous.
Change-Id: If841426067017c574c4aff88b8d8ae6b49ee867a