Commit Graph

4469 Commits

Author SHA1 Message Date
Martin Hibdon
272b317f3d Fix an infinitely retrying download problem
b/11436795
If an attachment download fails due to a timeout, or
an exception being thrown from startDownload(), we'd call
cancelDownload() on it. But this didn't actually cancel,
it would remove it from the inProgres list, but leave it
in the list of all downloads, so we'd immediately retry it.
This is bad for two reasons:
1. It can starve out other attachment downloads that could
have been successful.
2. It will keep attempting to do network work, even if it's
hopeless, forever, draining battery.
Now, if an attachment download fails in this way, for the first
few times, we'll move it to the tail end of the list of
downloads we'd like to perform. If it fails more than 10 times,
we'll give up completely. Giving up is not permanent, if we
have a reason to attempt a download again (such as the user
tapping on it), then it will get added back to the download
service and retried.

Change-Id: I5364a7d8b4b25ce299b8dcf061db6e9ce12daf75
2013-11-08 14:05:46 -08:00
Yu Ping Hu
47395c3729 am 1580fcac: Merge "Hack to make the Conversation View footer reload when a POP message finishes loading" into jb-ub-mail-ur10
* commit '1580fcacc0125e3c6f013821d6890436b97e96c1':
  Hack to make the Conversation View footer reload when a POP message finishes loading
2013-11-06 18:05:32 -08:00
Yu Ping Hu
63c5adbc1e am 8846a12c: Merge "Correct some logging in ADS" into jb-ub-mail-ur10
* commit '8846a12c9480799e6a6ade983f7bbcbcb38cca81':
  Correct some logging in ADS
2013-11-06 18:05:31 -08:00
Martin Hibdon
ce99df0b3c am 80e9fa84: Merge "Update the duplicate message deletion trigger" into jb-ub-mail-ur10
* commit '80e9fa84b8061805485452f9d2d38c3c010cc993':
  Update the duplicate message deletion trigger
2013-11-06 18:05:31 -08:00
Yu Ping Hu
1580fcacc0 Merge "Hack to make the Conversation View footer reload when a POP message finishes loading" into jb-ub-mail-ur10 2013-11-07 02:03:08 +00:00
Yu Ping Hu
8846a12c94 Merge "Correct some logging in ADS" into jb-ub-mail-ur10 2013-11-07 00:38:58 +00:00
Martin Hibdon
80e9fa84b8 Merge "Update the duplicate message deletion trigger" into jb-ub-mail-ur10 2013-11-07 00:38:56 +00:00
Martin Hibdon
1ad443612d Correct some logging in ADS
b/11436795
Some of the logging I enabled here actually causes an
exception to be thrown because the format didn't match
the args in the log command.

Change-Id: If86942e64927c0e8df7573ef099824899e20c289
2013-11-06 15:47:16 -08:00
Martin Hibdon
13ff5b86ac Update the duplicate message deletion trigger
b/11535121
Now we only delete messages with the same serverId and account
if the account is an exchange account.

Change-Id: Ic2ebb465ccdb38724b88daac8ac40771c7a24bed
2013-11-06 14:55:42 -08:00
Martin Hibdon
5e78ddd2a0 am 580b3f7b: Merge "Fix attachments in search results" into jb-ub-mail-ur10
* commit '580b3f7b380cb72ed66bb92a68e2b194344ce97b':
  Fix attachments in search results
2013-11-06 12:24:39 -08:00
Martin Hibdon
d482cbd54b Fix attachments in search results
b/11294681
We had some really broken logic about handling search
results.
In IMAP search, we would request, in a single pass,
FLAGS, ENVELOPE, STRUCTURE, and BODY_SANE. BODY_SANE means
the first N bytes of message content, whether it be from
the message text or attachments. This is different from how
sync works: In sync, we get FLAGS and ENVELOPE in one pass,
and in a later pass get STRUCTURE and first body part text
for each message.
If the total size of the message exceeded the maximum limit
for BODY_SANE, then we'd mark the message as partial, which
would cause us to create a dummy attachment in copyMessageToProvider().
This is a weird solution to the problem of POP messages not
being completely loaded, because in POP message body and
attachments can't be requested separately, so the dummy attachment
just signified that we needed to fetch more data.
This system fails completely on IMAP, because just fetching the
rest of the body will not get you the attachments.

But even if that code is disabled, attachments in search results
still didn't work properly. For reasons I don't yet understand,
if we requet both STRUCTURE and BODY_SANE at the same time, either
we don't received the full attachment metadata, or we ignore it, and
only use the attachments whose contents could actually fit in the
limit imposed by BODY_SANE. So attachments that didn't fit,
or didn't completely fit, would either be missing or corrupt
and unretriveable.

So, end result: It's not clear why we were trying to load
BODY_SANE all in one pass, unlike how it works for sync.
In fact, the way sync does it now makes a lot of sense: We
load FLAGS and ENVELOPE data (small) and put the in the DB
immediately so they can be displayed. In the second pass we
load the (potentially large) structure and message body. If this
is the right solution for sync, it's probably the right solution
for search. So now, that's what we do.

There is cleanup I'd like to do post MR1: Some code is duplicated
between sync and search that could be consolidated, but we're in
low risk mode now so I only changed search code.

Change-Id: I11475e290cda04b91f76d38ba952679e8e8964d5
2013-11-06 10:53:07 -08:00
Tony Mantler
ec1fb96505 am 06e140e4: Update messaging when autodiscover fails due to an auth error
* commit '06e140e4a42c11e60331229963d27548ea35551c':
  Update messaging when autodiscover fails due to an auth error
2013-11-05 17:20:37 -08:00
Tony Mantler
06e140e4a4 Update messaging when autodiscover fails due to an auth error
b/11538085

Change-Id: I76689cbd89eef233588804edeb3893f1ad36bebe
2013-11-05 16:14:56 -08:00
Tony Mantler
62604b1a44 Hack to make the Conversation View footer reload when a POP message finishes loading
Get rid of this later when we stop using dummy attachments for "Load More"

b/11439833

Change-Id: Ia0ea9408fb74b6c305de43eada306c5df4c5fd59
2013-11-05 11:22:12 -08:00
Yu Ping Hu
0fb9b9efe6 am 294a4248: Merge "Fix off by one error." into jb-ub-mail-ur10
* commit '294a4248beae466c7aa19ad5b5683d35ed053f7a':
  Fix off by one error.
2013-11-01 17:27:04 -07:00
Yu Ping Hu
294a4248be Merge "Fix off by one error." into jb-ub-mail-ur10 2013-11-01 22:19:38 +00:00
Yu Ping Hu
1a6a3fe797 Fix off by one error.
Bug: 11475318
Change-Id: I046fc66713c54f355a3dc4e6b7b7b288a1450326
2013-11-01 10:36:44 -07:00
Martin Hibdon
2d49f0df50 am c085911e: Merge "Add logging to see why attachments fail to load" into jb-ub-mail-ur10
* commit 'c085911eeeb18059be403b1a506d50f2cc807b43':
  Add logging to see why attachments fail to load
2013-10-31 18:26:30 -07:00
Martin Hibdon
c085911eee Merge "Add logging to see why attachments fail to load" into jb-ub-mail-ur10 2013-11-01 01:22:15 +00:00
Tony Mantler
a3e839cca9 am 3ddd39b6: Merge "Don\'t add Quick Response menu if there\'s no mReplyFromAccount" into jb-ub-mail-ur10
* commit '3ddd39b6f1e3bfa0b10443627dd14067502941dd':
  Don't add Quick Response menu if there's no mReplyFromAccount
2013-10-31 14:15:46 -07:00
Martin Hibdon
5ed194434f Add logging to see why attachments fail to load
b/11436795
Now, if we ever insert or update an attachment to have
a blank location, we'll log a warning with stack trace.
Also, logging from ADS now uses the same log tag as everything
else, so we'll be able to see it without needing to turn
on some funny log tag.

Change-Id: Ic566cd87e8893128d074b897d7594a01ae12bc8c
2013-10-31 14:11:41 -07:00
Tony Mantler
3ddd39b6f1 Merge "Don't add Quick Response menu if there's no mReplyFromAccount" into jb-ub-mail-ur10 2013-10-31 21:11:32 +00:00
Tony Mantler
b0d82fecff Don't add Quick Response menu if there's no mReplyFromAccount
b/11361756

Change-Id: I880d8f2089c1a50d13367b6fcf64344070280e27
2013-10-31 10:43:29 -07:00
Yu Ping Hu
0fe768e40c am 6ceae42b: Merge "Add a provider call to get device friendly name." into jb-ub-mail-ur10
* commit '6ceae42b30e03399513b29d401319666915096d5':
  Add a provider call to get device friendly name.
2013-10-30 16:10:13 -07:00
Yu Ping Hu
6ceae42b30 Merge "Add a provider call to get device friendly name." into jb-ub-mail-ur10 2013-10-30 23:07:52 +00:00
Tony Mantler
81bedbef2e am 2a33eccd: Merge "Don\'t initiate fragment transactions from onDestroy()" into jb-ub-mail-ur10
* commit '2a33eccd19ac32bb75f419b6379586de903c78af':
  Don't initiate fragment transactions from onDestroy()
2013-10-30 14:15:07 -07:00
Tony Mantler
2a33eccd19 Merge "Don't initiate fragment transactions from onDestroy()" into jb-ub-mail-ur10 2013-10-30 21:12:06 +00:00
Yu Ping Hu
5181cd6d4a Add a provider call to get device friendly name.
For now, it sends the device model name as friendly name, in lieu
of actually having a user-supplied friendly name. This is wrong
for at least two reasons:

1) We need to have an actual user-supplied friendly name, but that's
   not easy to find.
2) This really shouldn't be a provider query -- it should be something
   the Exchange can know locally (ideally this is a system preference
   but that's not currently implemented). This workaround just lets
   us have some reasonable value that we can update easily.

Bug: 11161234
Change-Id: If83ad768736de19c9d0e833d1f86a6ce9daf5039
2013-10-30 11:50:41 -07:00
Alice Yang
8e3bd14c27 Merge "Always ask before displaying images for Email" into jb-ub-mail-ur11 2013-10-30 17:58:20 +00:00
Alice Yang
24a489c3de Always ask before displaying images for Email
In Gmail, we are adding a setting that automatically shows external
images instead of asking user first.  Email app should preserve old
behavior.

Bug 11158252

Change-Id: I8b04a1ec31638d756dfee2da8ab2e8178a709416
2013-10-30 10:07:59 -07:00
Alon Albert
3e8e59798b Null Protect Account Info
Bug: 11355850
Change-Id: Idb42769b3009787efb4edfe2ffbd65171cd8d8d8
2013-10-29 16:47:24 -07:00
Tony Mantler
9460be06aa Don't initiate fragment transactions from onDestroy()
b/10918608

Change-Id: I649c5f86e5f77fa2ade33345969a44ffebb463b9
2013-10-29 15:44:34 -07:00
Alon Albert
ae46818a19 Disable Move Actions for POP3 Folders
Bug: 11311812
Change-Id: I5813281cca76b9b4a373b5b40dbbd1909800f951
2013-10-29 11:06:36 -07:00
Tony Mantler
19b89b4bea Merge "Oh account name/email mixups, I've missed you so (no I haven't)" into jb-ub-mail-ur10 2013-10-25 20:14:38 +00:00
Tony Mantler
20367f1589 Oh account name/email mixups, I've missed you so (no I haven't)
b/11341847

Change-Id: Ib3d13e28f742e6cac84795d46121e4be2994abba
2013-10-25 10:02:06 -07:00
Yu Ping Hu
7b7d7d5cb5 Fix DB upgrade code.
Bug: 11294681
Change-Id: I7333aabbdb9e45154d83386b85398e6d108e5bf2
2013-10-24 19:58:40 -07:00
Yu Ping Hu
66f85c878c Merge "Add an additional mailbox key column to message table" into jb-ub-mail-ur10 2013-10-24 22:59:40 +00:00
Yu Ping Hu
4b73385ecb Merge "Prevent a NPE in ImapService search handling" into jb-ub-mail-ur10 2013-10-24 22:56:29 +00:00
Martin Hibdon
7dad461e9e Prevent a NPE in ImapService search handling
b/11339972

Change-Id: Ief34e6e1fd59d029847dc8525a34f20ea9de26b1
2013-10-23 16:44:31 -07:00
Tony Mantler
340a29e5fa Merge "Restore sender snippet for nested folder teaser." into jb-ub-mail-ur10 2013-10-23 22:42:39 +00:00
Martin Hibdon
c86fbb5bcb Add an additional mailbox key column to message table
b/11294681
The problem is that when we try to open an attachment for a
message in search results, it fails. The reason is that part of
loading the attachment, we need to open the remote folder the
message is in. For search results, the message's mailboxKey is
the special fake "search_results" folder, which doesn't actually
exist on the server.
For this change, I've added a new column called "mainMailboxKey".
For search results, this column will be populated with the real
mailbox the message is in. It will be blank for other messages.

This is a quick and low risk fix for this bug, but it's kind
of awkward. We would prefer to do one or both of the following
some time after MR1.

1. Make the "search_results" folder be a virtual folder, the same
way that unread, starred, and other virtual folders are. For these,
there is actually no mailbox row in the database, just some
queries that check various flags in the messages and behave
like folders in the UI. The messages actually still reside in the
real folders.
2. Remove the requirement to open the folder at all to load the
attachment.

Change-Id: I825ab846f78bf8b041a5d1d579260dc5d7b4c522
2013-10-23 14:58:57 -07:00
Tony Mantler
4cece307c4 Restore sender snippet for nested folder teaser.
It's a bit ugly, but it's much better than firing up a new loader for each subfolder.

b/11288044

Change-Id: Ia568f82ccd615ee950944d411c30f9470a55aea9
2013-10-23 14:30:59 -07:00
Tony Mantler
e3cf91af61 Set parentServerId for IMAP folders to prevent fixup code from resetting parentKey
b/11355523

Change-Id: Idbef28cdbbc0eac50552fabeb24e2ec49a6cd042
2013-10-23 14:14:21 -07:00
Tony Mantler
bf39d1166c Merge "Coalesce notification updates to avoid spamming the notification tray" into jb-ub-mail-ur10 2013-10-22 21:57:41 +00:00
Justin Ho
3cc5e68bd2 Merge "Change trigger to allow duplicate messages in search folders" into jb-ub-mail-ur10 2013-10-22 03:34:23 +00:00
Martin Hibdon
ac40b86485 Change trigger to allow duplicate messages in search folders
b/11294681
b/11325976
The problem is that when we get a message as part of a search
result, we'll end up deleting that message from the inbox (or
whatever folder it's currently in). This is because there is
a trigger that deletes messages if a new message is inserted
that has the same serverId and account.

Now, messages with duplicate serverId/account combinations are
allowed if one of the messages is in a SEARCH type folder.
Also, make a change so that when a message comes down in
a search result, we do also copy it into the primary mailbox
that message resides in, we only add it to the SEARCH folder.
Prior to this there was some code that intended to put
the search result message into the regular mailbox it's supposed
to be in, so that we'd have correct state in that message.
Unfortunately, there are several problems with this:
1. The code didn't work, it would make a copy in the regular
folder, and then unconditionally move it to the search folder.
2. If we leave this code in place, putting the message
temporarily into the regular folder still activates the duplicate
message deletion trigger, wiping out the original copy, even with
the update to the trigger.
3. It's unclear that it's even desirable to load the search
result message into the regular folder. It could be a very old
message that would not have been synced before, leaving a large
gap in your inbox, which is confusing and could interfere with
IMAP syncing.

Change-Id: I34671a3b677ab42a3efd0d170a6ebd9246ec493d
2013-10-22 02:26:15 +00:00
Yu Ping Hu
b8ef7da634 Merge "Treat updates into non-existent body rows as inserts." into jb-ub-mail-ur10 2013-10-21 23:46:14 +00:00
Yu Ping Hu
d0b81a0d06 Treat updates into non-existent body rows as inserts.
Bug: 11245727
Change-Id: I648b0267e9149f3f431ce01be9789087f73edab1
2013-10-21 16:35:45 -07:00
Yu Ping Hu
1fb5fa6981 Merge "Populate real name in From: field" into jb-ub-mail-ur10 2013-10-21 22:46:55 +00:00
Yu Ping Hu
7b28bb95a3 Merge "Update the folder sync status while searching in IMAP" into jb-ub-mail-ur10 2013-10-21 18:47:09 +00:00
Tony Mantler
632ee24d48 Populate real name in From: field
b/11246653

Change-Id: I8629ba655b99629f7b14f857acb67cb8453ddb8b
2013-10-18 16:49:56 -07:00
Yu Ping Hu
a5a28ffb63 Do not require RPC for getCapabilities.
Bug: 11241892
Change-Id: I3da136c9035414c821ee2038da01134c551bb9dd
2013-10-18 14:09:09 -07:00
Alon Albert
7c8d480276 Merge "Handle User Refresh in Edge Cases" into jb-ub-mail-ur10 2013-10-18 18:15:38 +00:00
Tony Mantler
a2b82c1a92 Coalesce notification updates to avoid spamming the notification tray
b/11115818

Change-Id: I1d8bfbb87c279c9967eee7295f31ddd7728b200c
2013-10-18 10:24:44 -07:00
Alon Albert
8c989772df Handle User Refresh in Edge Cases
Handle the following edge cases when a manual refresh is triggered:
* No connectivity
* Low storage space
* Timeout (sync not started)

Bug: 11241113
Change-Id: I580235d633fcb65999c0bfe8bf383c9c8ba72110
2013-10-18 09:32:47 -07:00
Tony Mantler
af52f20930 Update the folder sync status while searching in IMAP
b/7538620

Change-Id: I7bb0c706fd63b1fe7d20dc0f186934e0dcac2f06
2013-10-17 16:07:21 -07:00
Tony Mantler
164677131a Merge "Don't bail out of downloading an attachment if the size is delcared as zero" into jb-ub-mail-ur10 2013-10-17 18:07:46 +00:00
Yu Ping Hu
c084e8188d Merge "Don't allow duplicate messages to appear in Sent folder" into jb-ub-mail-ur10 2013-10-17 17:41:32 +00:00
Tony Mantler
4aaf3f2e33 Don't bail out of downloading an attachment if the size is delcared as zero
b/11225306

Change-Id: If67401dd3e6b652b03fba2e71cfc82fdae80ccb2
2013-10-17 09:46:03 -07:00
Martin Hibdon
37b539063d Don't allow duplicate messages to appear in Sent folder
b/11224731
There is a problem in ImapService.processPendingUploads().
It was trying to process updates to existing messages
as uploads. This is wrong, it means that marking a sent
messages as Read can cause it to be uploaded again,
resuling in a new message being created.

Change-Id: I502df52a7b315daeee10c1041db8f30dbfd2c04e
2013-10-16 22:46:25 -07:00
Tony Mantler
7acf30e9ab Make sure account upgrade code always runs before reconciling
b/11240251

Change-Id: Id6d6ad98b729757991b19c8dcd84822d6216f9a0
2013-10-16 17:14:54 -07:00
Martin Hibdon
85d2190552 Clear all "drafts" related flags from email when sending
b/11224331

Change-Id: I1df8ea3e0e24b050cd391dea454124e06988bf7d
2013-10-14 17:42:02 -07:00
Yu Ping Hu
ec0bb58b9a Merge "Fix folder list loading." into jb-ub-mail-ur10 2013-10-14 21:51:14 +00:00
Yu Ping Hu
1004d74f2c Fix folder list loading.
We used to do N+1 DB queries when our list has
N folders in it. Now just do 1 and be smarter about
how we read our values out of it.

Bug: 11112954
Change-Id: Icde0b979ca985e63d6ceba05c3a63f3a9b7e3566
2013-10-14 14:47:33 -07:00
Tony Mantler
efd835acea Fix threading issues in EmailDownloadService
b/7257927

Change-Id: I390ced0eee18ff324032481ae55c31f5d4b26ffd
2013-10-14 12:25:04 -07:00
Martin Hibdon
6df3709128 Merge "Correct syntax for IMAP date range search" into jb-ub-mail-ur10 2013-10-14 04:46:53 +00:00
Martin Hibdon
35cdca3fb4 Correct syntax for IMAP date range search
b/11183568
We were surrounding the data parameters with
double quotes. Apparently some servers do not
accept this, and they aren't present in the
imap spec.
However, we've been running with the quotes
for several months now, and it seems to work
on most servers. I'm afraid of changing this
right now, it might cause other servers to fail.
So now we'll try the query without quotes, and
if we get an exception, fall back to the old
style query with the quotes.

Change-Id: Ifb7b1a6dd4a9f7bb6b38bd1611c64e2bddb2e188
2013-10-13 21:44:52 -07:00
Yu Ping Hu
ac93f838b8 Only fake the footer for mailboxes that sync from server.
Bug: 11193271
Change-Id: I7bc8903889ae4f91065cdb4696128a4eed62844f
2013-10-12 15:15:33 -07:00
Tony Mantler
67e78a67ba Merge "Clean up usage of Account.name when accessing account/folder prefs" into jb-ub-mail-ur10 2013-10-12 01:34:50 +00:00
Tony Mantler
32614f3746 Clean up usage of Account.name when accessing account/folder prefs
b/11185963

Change-Id: Id928732bee5f67887252b1f949a8e4d396fffaa6
2013-10-11 16:44:57 -07:00
Alon Albert
9a342b3147 Cleanup Logs
Bug: 11149133
Change-Id: I764e2e3a8c37769d2e788688cf50789d0f22e9d3
2013-10-11 15:31:24 -07:00
Martin Hibdon
e7f61f403c Merge "Always fix parent keys on startup of email" into jb-ub-mail-ur10 2013-10-11 22:24:34 +00:00
Martin Hibdon
f7078466c3 Always fix parent keys on startup of email
b/11174975
There are already several database fixing steps that
occur when the database is opened, add another one
to correct uninitialzed mailbox parent keys.
This is because we use a two pass system for adding
mailbox rows, first to insert the rows, and second to
assign parentKeys to child rows. We need two passes
because we may insert a child row before its parent,
so the parent's rowId is unavailble. But if the process
dies before the second step is complete we'll be in
an inconsistent state.

Change-Id: Ifaeeaca7e82c1e99656033bc1a9f25d7acb67517
2013-10-11 15:18:41 -07:00
Tony Mantler
ec2b661acb Merge "The ServiceMap caches locale-dependent strings. Destroy it on configuration changes." into jb-ub-mail-ur10 2013-10-11 21:37:44 +00:00
Tony Mantler
03dc3f22d1 Combined account name is locale-dependent. Notify on locale changes
b/10784192

Change-Id: I2a9783f19709ff5cf0ab5a4a14ab1ad60b71d821
2013-10-11 14:20:03 -07:00
Tony Mantler
3a8c86b182 The ServiceMap caches locale-dependent strings. Destroy it on configuration changes.
b/10785115

Change-Id: I39df8a002cafdbaf4d41c9916d62a79a03d48804
2013-10-11 13:18:36 -07:00
Martin Hibdon
ed4e1c5039 Merge "Disable sync settings controls for drafts folders" into jb-ub-mail-ur10 2013-10-10 23:40:19 +00:00
Martin Hibdon
cb30243fe1 Disable sync settings controls for drafts folders
b/11158759
Make the default sync setting for drafts folders 0
(never automatically sync), and disable the settings
control so that it cannot be changed.
Also add a db upgrade step to set any existing drafts
folders to not sync, and clean up any Exchange synced
draft messages.

Change-Id: I256bde231d722089ef2a623482f570a20eccf1de
2013-10-10 16:29:42 -07:00
Tony Mantler
11fb2d161e Merge "Use the correct widget provider class" into jb-ub-mail-ur10 2013-10-10 21:06:42 +00:00
Martin Hibdon
9e608aa5a1 Update logging in AttachmentDownloadService
This is related to b/11081672.
The logging needed to track this down was tied to
MailActivityEmail.DEBUG, which is tied to a setting that
no longer exists.

Change-Id: I0a23508832ead6ab3cc613a82e0831986b0af49b
2013-10-10 12:41:23 -07:00
Tony Mantler
8117953140 Merge "Add null check before passing from address to Rfc822Tokenizer" into jb-ub-mail-ur10 2013-10-10 18:45:49 +00:00
Martin Hibdon
03f56f2c1a Merge "Allow multiple mailboxes to be synced in a single request" into jb-ub-mail-ur10 2013-10-10 18:31:17 +00:00
Tony Mantler
22f0c87d5f Add null check before passing from address to Rfc822Tokenizer
b/11167816

Change-Id: I13671d953b067ecc5becf160eab52be30e4f1354
2013-10-10 10:35:58 -07:00
Martin Hibdon
56aba8d843 Allow multiple mailboxes to be synced in a single request
b/11103878

Change-Id: Ic6abf51457fe94e89fe51b461da4371f50e0fe86
2013-10-10 09:30:31 -07:00
Tony Mantler
5da03b90e2 Merge "Temporary workaround for ConversationCursor missing updates" into jb-ub-mail-ur10 2013-10-10 16:20:00 +00:00
Paul Sliwowski
b5341fac10 Merge "Fix bugs when screen is rotated when creating account." into jb-ub-mail-ur10 2013-10-10 03:00:43 +00:00
Paul Sliwowski
d7ed294dd1 Fix bugs when screen is rotated when creating account.
Bug: 11136893
Change-Id: I1d21c1f427370a2de57d89be802cac253ad33bd5
2013-10-09 19:49:29 -07:00
Martin Hibdon
7c03217316 Add a retry backoff/limit policy to attachment download
b/11081672

Prior to this, any time the AttachmentDownloadService
got a CONNECTION_ERROR, it would just instantly retry,
without any limit on the number of tries. This is bad
if the server is in a funny state, we'll just keep spamming
it with multiple connection attempts per second. Also,
this kills the client device's battery and responsiveness.

Now, it will retry instantly five times, and then retry on a
10 second delay 5 more times. After that it will give up.

Even if it gives up, if the user visits an email with an
attachment, or taps on an attachment to expand it, we'll
start the process over. So we shouldn't have permanent
apparently data loss, even if we fail on the first 10 tries.

I'm not certain that this is the best backoff/limit policy,
maybe we should add a delay after even the first connection
error. But I'm hesitant to change this at this point, it's
possible that something is relying on this behavior and
we don't have a lot of soak time left.

Change-Id: I53d75d5d214ccca887a89cf65b799fe640cc9bc5
2013-10-09 16:32:08 -07:00
Tony Mantler
e12b22148f Temporary workaround for ConversationCursor missing updates
Launch a 2-second delayed message to send a second notification on the folder change update

b/11027351

Change-Id: Ia0a22be79f4a74c6857517cc21e2313cea9cc0e9
2013-10-09 16:15:29 -07:00
Tony Mantler
37aa460ef7 Use the correct widget provider class
b/11043157

Change-Id: Icb4e6408535ca4cc055581ca7e8bd74c83aeecdf
2013-10-09 15:52:16 -07:00
Tony Mantler
4b32e54309 Merge "Update widgets on provider instantiation." into jb-ub-mail-ur10 2013-10-09 20:27:42 +00:00
Tony Mantler
06009f28f0 Merge "Parse "From" addresses when constructing ConversationInfo" into jb-ub-mail-ur10 2013-10-09 17:33:48 +00:00
Tony Mantler
73379a2729 Parse "From" addresses when constructing ConversationInfo
Fixes sender image tiles

b/11120430

Change-Id: Ie53e2a01cfffd70318fad7cd1cbc2565f1bbb87b
2013-10-09 10:29:36 -07:00
Martin Hibdon
529bdeaec1 Always close the connection after trying to load attachments
b/11081672

Change-Id: Ibe804713492b37f5579fb20a0da7292e82cb5341
2013-10-08 16:48:52 -07:00
Tony Mantler
02b9ac1b95 Update widgets on provider instantiation.
b/11043157

Change-Id: I439a67447875b6f9ba818b2c2cb95c83db034896
2013-10-08 11:55:39 -07:00
Tony Mantler
805bc397bd Merge "Populate the snippet in ConversationInfo" into jb-ub-mail-ur10 2013-10-08 16:22:58 +00:00
Tony Mantler
b62486b019 Populate the snippet in ConversationInfo
b/11111973

Change-Id: I8a4e824ad4c708fba8013221279a0b1ac6df7a8c
2013-10-07 16:50:55 -07:00
Tony Mantler
5d47ee0f87 Store the total count of search results in the database only
b/11027351

Change-Id: Ibb63bd7b80ff0af653cca4424dd2d17168262710
2013-10-07 14:40:14 -07:00
Yu Ping Hu
1265011585 Merge "Don't push things that haven't performed initial sync." into jb-ub-mail-ur10 2013-10-04 21:41:13 +00:00
Yu Ping Hu
3f24a9e2c7 Don't push things that haven't performed initial sync.
Also remove the ping kick.

Bug: 11081520
Change-Id: I21d5050886b2c352771013f4f3e5b9282482d508
2013-10-04 14:36:43 -07:00
Tony Mantler
d946f8319a Merge "Reply-all setting is modified at runtime, don't cache it in a static map" into jb-ub-mail-ur10 2013-10-04 21:21:26 +00:00
Tony Mantler
7c24f48a37 Merge "Remove notifications while we still know what type of account this is" into jb-ub-mail-ur10 2013-10-04 20:28:42 +00:00
Tony Mantler
b424ffa65b Reply-all setting is modified at runtime, don't cache it in a static map
b/11066041

Change-Id: I4e14c3add3fe2503e8369dbb7ef976e110ef2fee
2013-10-04 13:25:26 -07:00
Martin Hibdon
387612f469 Merge "Fix display for inlined and non-inlined attachments" into jb-ub-mail-ur10 2013-10-04 20:13:16 +00:00
Tony Mantler
ac1d3249fb Remove notifications while we still know what type of account this is
Also add null check just in case

b/11070468

Change-Id: I187b9b084512a2b994f4a0a3b750ade5eee50624
2013-10-04 12:27:20 -07:00
Martin Hibdon
fc8a57bb29 Fix display for inlined and non-inlined attachments
b/11069575
The problem is that the UI_MESSAGE query strips out
any inlined attachments, but the UI_ATTACHMENTS query
does not. This means that we display all attachments
at the bottom, regardless of whether or not they're
inlined, but the formatting is wrong because when we measured
we only had the non-inlined attachments.
Maybe we should not display the inlined attachments at
the bottom, but right now if we do that, it's impossible
to save an inlined image. So for now, I'm just making
UI_MESSAGE query keep the inlined attachments so that
both queries have the same behavior.

Change-Id: I155f5bb74dbfbc8dbf02b56dca58fbca3da5da78
2013-10-04 12:13:02 -07:00
Tony Mantler
840408c41c Remove mAmAccount from the email provider account object
b/11070468

Change-Id: I51bad4be41800e4cd6dae42744005ade784cdf82
2013-10-04 10:21:25 -07:00
Tony Mantler
f086deac70 Change notification code to key off android.accounts.Account
b/11023774

Change-Id: I6dd267591148378265b0f12c7ea6d74b450a0f3d
2013-10-03 13:26:55 -07:00
Paul Sliwowski
7df98d0a6d Fix autodiscovery failed dialog.
Bug: 11030161
Change-Id: Id97766969608016efe068e5c142407ad94438b05
2013-10-02 16:00:33 -07:00
Martin Hibdon
921c04d2ac Add some logging
Change-Id: Ib26ffad0bb6841361b8ee7be4ee2a6255d509ae2
2013-10-01 17:08:16 -07:00
Tony Mantler
768c6b86db Don't show "No messages" when starting a search on Exchange
Also clean up some finals

b/11027351

Change-Id: Ib76cc90b04acb531d53b2d6bdc4e3b0ad911f72c
2013-10-01 12:02:47 -07:00
Tony Mantler
53ecec0ad4 Merge "Only return messages that are unread and unseen for an unseen query" into jb-ub-mail-ur10 2013-09-30 23:34:19 +00:00
Tony Mantler
d4a06f409d Only return messages that are unread and unseen for an unseen query
b/10970849

Change-Id: I23d40fc39987fab35521f1dd75f4631f1fae16d5
2013-09-30 15:32:42 -07:00
Martin Hibdon
2cf965b85f Merge "Make draft attachments work correctly" into jb-ub-mail-ur10 2013-09-30 22:23:42 +00:00
Martin Hibdon
f484751e06 Make draft attachments work correctly
b/10968838
The main problem here is that Ui Attachment was always using
a content Uri that was generated using the attachment's account
Id and rowId. This works correctly for attachments in messages
we have received, but it does not work for drafts: Draft attachments
are not stored in the normal place, rather, they are stored in
the cache directory. There is an additional column in the
Attachment table, called cachedFile, which is not replicated in the
Ui attachment. That's okay though, if we have a cachedFile, then
when we are populating a Ui Attachment, we should just use that
for content Uri.
Also, I discoverd that for draft attachments, we were not correctly
setting the account key. That didn't turn out to be the problem,
but I'm fixing it anyway because it will cause problems later on.

Change-Id: I0143ba824f3a5bfcd77f32828931b94d6977626f
2013-09-30 15:08:45 -07:00
Tony Mantler
b38c7d1c37 Avoid ANR due to looking up account info on the main thread
b/10987175

Change-Id: I7344e2717ab1b9557385eb6eb9e7962461b10c9d
2013-09-30 12:31:52 -07:00
Yu Ping Hu
125cbdf9d4 Make certain we don't use a null account.
Bug: 10965484
Change-Id: I525d32fcbde0fbbe0bec467814cf4f09a3de38fe
2013-09-29 18:09:17 -07:00
Yu Ping Hu
85ad73aecd Pass the correct id to getAccountManagerAccount.
Bug: 10965484
Change-Id: I8e1aab4810da4673313b10231592283736a92ef9
2013-09-29 16:12:52 -07:00
Alon Albert
c4d139c4f4 Auth Notification
Some changes that allow a notification to open Account Settings for a specific
account

Bug: 10930585
Change-Id: Ib329e339b405ccbc0631d5ce6a23bf8fa6d62b83
2013-09-27 17:52:48 -07:00
Yu Ping Hu
386c8ccbf9 Merge "Kick the push once an hour, in case it fails." into jb-ub-mail-ur10 2013-09-27 21:18:10 +00:00
Martin Hibdon
9d3e01c589 Set the client cert from AccountSetup
b/9661767

Change-Id: I292ff5e190ed56077a04e37869e18a46f5473985
2013-09-27 13:47:16 -07:00
Yu Ping Hu
69418d0460 Kick the push once an hour, in case it fails.
Bug: 10954795
Change-Id: If6325c04b2011fb476f20f1419afaee13a786d3c
2013-09-26 22:20:20 -07:00
Yu Ping Hu
5e8d8c1f80 Modify ping on settings changes.
Bug: 9020744
Change-Id: I0dfa2b8e9d999072b8201da61916372ca1a5b08b
2013-09-26 18:33:13 -07:00
Yu Ping Hu
6580e50031 Fix a bad log message.
Bug: 10950496
Change-Id: I06c5e20eea9090bbfc6d0c12d8ce8e31d47f52a2
2013-09-26 14:15:50 -07:00
Tony Mantler
e43fbd05de Merge "Fix account matching at initial screen to match against email address" into jb-ub-mail-ur10 2013-09-26 20:45:55 +00:00
Tony Mantler
463584d23f Fix account matching at initial screen to match against email address
b/10210901

Change-Id: I64d60ca33a42a19e085dd98a7a61d68ac30027f9
2013-09-26 13:41:09 -07:00
Martin Hibdon
7140095932 Merge "reduce the length of a log tag to a legal amount" into jb-ub-mail-ur10 2013-09-26 20:35:03 +00:00
Martin Hibdon
fead9986c1 reduce the length of a log tag to a legal amount
Change-Id: I6f18b9aa893cdccfebf24885b4668a50472af802
2013-09-26 13:29:24 -07:00
Martin Hibdon
780e92aea3 Merge "Handle it if an fetchPart has no content-encoding" into jb-ub-mail-ur10 2013-09-26 20:28:32 +00:00
Martin Hibdon
312aa85609 Handle it if an fetchPart has no content-encoding
b/10855399

Change-Id: Ic2a8b51d095fe44f180ba2f2171dc70a9df10a1d
2013-09-26 13:10:48 -07:00
Alon Albert
feb2c387b0 Upsync Exchange Folders on syncedMessage updates
On updates to content://com.google.android.email.provider/syncedMessage
request a sync for the folder the message is in.

We need to do this because Exchange sync adapter is marked as
android:supportsUploading="false" so notifySync() doesn't work.
Neither does adding a UPLOAD extra to the sync request. If we do that, the
request is dropped.
This means that the sync request will also downsync the folder but t's probably
a good thing anyway.

We could add our own version of UPLOAD extra if we really want to prevent downsync.

Bug: 10678136
Change-Id: I14f06c4da905560716773d31d59388d2e6d25635
2013-09-26 11:16:23 -07:00
Martin Hibdon
bf49e99569 Merge "Move calendar and contacts to the new account on upgrade" into jb-ub-mail-ur10 2013-09-25 22:15:22 +00:00
Tony Mantler
bc5653471c Merge "Separate the account name from the account manager's account name" into jb-ub-mail-ur10 2013-09-25 22:10:56 +00:00
Yu Ping Hu
229e173010 Merge "Disable account setup debug screen." into jb-ub-mail-ur10 2013-09-25 21:56:15 +00:00
Tony Mantler
1082ed9430 Merge "Match against both account name and type when reconciling accounts" into jb-ub-mail-ur10 2013-09-25 21:24:52 +00:00
Tony Mantler
5757047f33 Merge "Make sure the account check dialog doesn't outlive the account check fragment" into jb-ub-mail-ur10 2013-09-25 21:24:35 +00:00
Tony Mantler
ed0ee50a12 Match against both account name and type when reconciling accounts
b/10210901

Change-Id: Ice60ab64a2f7287be9ee639e5777f85bda4bd390
2013-09-25 13:34:04 -07:00
Tony Mantler
d8ee809ac2 Make sure the account check dialog doesn't outlive the account check fragment
b/10918608

Change-Id: I65725b8935b2902ff926ba333cd41a3c1545f332
2013-09-25 11:24:55 -07:00
Tony Mantler
d17359c2b4 Notify on message Uri when a message is deleted.
b/10919322

Change-Id: I0b39bcbc2e03c45fc0c161211c7cdacd97791c15
2013-09-25 10:09:01 -07:00
Martin Hibdon
3aad3fcb8b Move calendar and contacts to the new account on upgrade
b/10805685

Change-Id: I08de135f166ad10812c9318efe649694e5c448d0
2013-09-24 17:02:08 -07:00
Tony Mantler
7349fbff64 Separate the account name from the account manager's account name
b/10894178

Change-Id: Ie64ae00e4fd382fb03fc7c87ea91c7aff8fc8f43
2013-09-24 16:41:50 -07:00
Tony Mantler
bab16f9161 Merge "Virtual folders are valid folders, don't kick back to the inbox when we're viewing them" into jb-ub-mail-ur10 2013-09-24 18:58:43 +00:00
Tony Mantler
96192ef342 Virtual folders are valid folders, don't kick back to the inbox when we're viewing them
b/10847930

Change-Id: I182fee7d6caa5c4a67911c0c8e969d8668ac87d0
2013-09-24 11:42:21 -07:00
Tony Mantler
4f32213ebe Missing part of I27ad5ee75df669315e03c9ccc299bfc8eacbb53b
Change-Id: I207898b4f6f9148758d4ee1c6a82cbb387570240
2013-09-24 11:25:36 -07:00
Tony Mantler
e54d6957db Clear out erroneous sync values for IMAP mailboxes on upgrade
b/10695945

Change-Id: Ic68c9ef0baa25eae40631184cf0322ff26c9e5ab
2013-09-24 11:08:33 -07:00
Martin Hibdon
1290f376c0 Merge "Improve display of attachments in pop" into jb-ub-mail-ur10 2013-09-24 04:14:18 +00:00
Scott Kennedy
0203a06c87 Ensure we have all columns in combined view
I added these to real mailboxes for hierarchical folders, but we
also need them in combined view.

Bug: 10891994
Change-Id: Iaa291fb9a9cd6039fb4d347309ce3a37aa64392a
2013-09-23 14:08:36 -07:00
Martin Hibdon
aad690f699 Improve display of attachments in pop
b/10714298
This is related to this CL in UnifiedEmail
https://googleplex-android-review.git.corp.google.com/#/c/363626/1

Change-Id: Idea2827791ed52e7558b11aaea07b1f3f1764db5
2013-09-20 17:39:05 -07:00
Scott Kennedy
bba11cdec9 Merge "Hierarchical folders in conversation list" into jb-ub-mail-ur10 2013-09-20 22:59:28 +00:00
Scott Kennedy
fc5aae98e7 Hierarchical folders in conversation list
Use something similar to the sectioned inbox teaser.

This change allows displaying sender snippets in the teaser.

Bug: 9604590
Change-Id: Ib27f002ab8cbd2315d95d46eeb1735aa6b594db5
2013-09-20 17:46:27 -04:00
Tony Mantler
ef0c53e15f Fake syncing while we're waiting for the sync to start
b/10695945

Change-Id: I6a32c45facaa0c2c888726e2276d07b7c5e46689
2013-09-19 12:19:02 -07:00
Tony Mantler
1ced0e3001 Merge "Update mailbox status according to current sync status" into jb-ub-mail-ur10 2013-09-19 02:11:46 +00:00
Tony Mantler
27de0b24b2 Merge "Use unified strings for sender image preference and switch to checkbox" into jb-ub-mail-ur10 2013-09-19 02:11:25 +00:00
Tony Mantler
04dbb647ff Update mailbox status according to current sync status
b/9177086

Change-Id: I24a7d26b7d7e5ee68ede003e823c1b80abaf56d3
2013-09-18 15:20:59 -07:00
Tony Mantler
acfbeb812b Use unified strings for sender image preference and switch to checkbox
b/10693718

Change-Id: Iec81347915611f81ded0c62ca37c401fdb28ae9f
2013-09-18 14:02:22 -07:00
Martin Hibdon
ed60a4026b Merge "Clear exchange sync keys upon app upgrade" into jb-ub-mail-ur10 2013-09-18 19:09:14 +00:00
Tony Mantler
ddb6c2da8d Merge "Don't disable the back button when the account name fields are invalid" into jb-ub-mail-ur10 2013-09-18 19:08:28 +00:00
Tony Mantler
0bfeb90e41 Don't disable the back button when the account name fields are invalid
b/10695553

Change-Id: I32df55594784e24263dede9b767786ccdc83662c
2013-09-18 11:56:47 -07:00
Tony Mantler
75e71b3b97 Merge "Don't return a null cursor from queries to uimessages" into jb-ub-mail-ur10 2013-09-18 18:03:59 +00:00
Tony Mantler
2c3328bfd7 Don't return a null cursor from queries to uimessages
b/10807214

Change-Id: Ia49dae8bd50773097bb1082c2bc5cf264a76ce55
2013-09-18 10:53:58 -07:00
Tony Mantler
3ba1ed1b88 Merge "Fix use-after-null in AccountSetupIncomingFragment" into jb-ub-mail-ur10 2013-09-18 03:18:57 +00:00
Tony Mantler
648a067056 Fix use-after-null in AccountSetupIncomingFragment
b/7967233

Change-Id: I69b7ea521416815fce3bb9e45b38c996b9cea17b
2013-09-17 16:51:52 -07:00
Martin Hibdon
7d6d8c87f8 Clear exchange sync keys upon app upgrade
b/10211620
The problem here is that on app upgrade, we need to change
the types of all email accounts. To do this, we have to
create new accounts and delete the old ones. This resulted
in calendar and contacts data getting deleted.
But we were copying over the last sync keys from the old
account, so on the next sync, we would only get new data.
This means that all of the data that we had gotten on
a previous sync would never be sent again, so calendar
events and contacts would be missing forever.
Now, we just don't migrate the old sync keys. This means
that on the next sync, we'll get all data, and restore
our original state.
This is still not ideal, because it means that any locally
created data that has not yet been synced will be lost
(b/10805685), but it's much better than it was.

Change-Id: I150c4dbdf490a8f3880261e2469795896ebfeab5
2013-09-17 16:43:07 -07:00
Tony Mantler
4265ade29a There's no such thing as a wrongly incomplete account
b/9856118

Change-Id: If2d2c50989285a13eb0ae29961733e472e26c978
2013-09-17 16:03:14 -07:00
Yu Ping Hu
e3a4a1b25d Remove dupes before syncing new messages.
Bug: 10440557
Change-Id: I4ade38a8bb15cbc22b6c10a5f270274fef6f1fca
2013-09-17 10:02:45 -07:00
Tony Mantler
106970b83e Merge "Notify when message changes (mostly for saving drafts)" into jb-ub-mail-ur10 2013-09-17 01:34:06 +00:00
Tony Mantler
c637bff198 Notify when message changes (mostly for saving drafts)
b/10785769

Change-Id: I1ad8e0583ddaa9fa4fcc45906745980f103ec1fa
2013-09-16 16:15:32 -07:00
Yu Ping Hu
d672b0eb2b Merge "Fix MessageStateChange to include mailbox id." into jb-ub-mail-ur10 2013-09-16 22:56:11 +00:00
Martin Hibdon
26ee7c9875 Merge "Make sync settings less confusing." into jb-ub-mail-ur10 2013-09-16 19:28:32 +00:00
Tony Mantler
1cede71194 Merge "Fix "Load More" for IMAP search" into jb-ub-mail-ur10 2013-09-16 19:18:02 +00:00
Martin Hibdon
0e550e0857 Make sync settings less confusing.
b/10602459
It was possible to turn off syncing for an account in global
settings, but we'd continue displaying some sync frequency
in the in-app settings.
Now, we only display the sync frequency if sync is actually
enabled. If it's disabled we always display "never". Also,
when the user changes a sync setting, if it's set to "never",
we leave the frequency in the database as it is, but disable
sync for that account. If it's set to anything else, we store
that in the database and ensure that sync for the account is
enabled. This means we should not have any apparent disagreement
between in-app settings and global settings as to whether or
not syncing will happen.

Change-Id: I1cc54e76aafd25dc4db0f1b713e7d7cbc30bf77f
2013-09-16 11:57:35 -07:00
Tony Mantler
7d761f3de3 Fix "Load More" for IMAP search
Also kill some warnings while I'm at it.

b/8607507

Change-Id: I8bfa90e9144d71e964799d6f2dab5e79f48b277f
2013-09-16 11:56:11 -07:00
Yu Ping Hu
e984940465 Fix MessageStateChange to include mailbox id.
Also ignore messages without server ids for moves and
state changes.

Also cleanup to match needs of EAS upsync.

Bug: 10678136
Change-Id: Id4d5229b8479e61bd718b707b0d2bc77a9e68046
2013-09-15 15:43:35 -07:00
Yu Ping Hu
c48670a569 Only set sync mailbox to inbox if none was specified.
Follow up to I9e62d5de10222f1d81b47a68dd0b3ab05de5436d.

Bug: 10729228
Change-Id: I8100a0a5d965e4c4c86dccb6c94dfe26cc6e49a0
2013-09-13 17:54:50 -07:00
Martin Hibdon
1a7838eed7 Update folder structure on every POP or IMAP sync
b/10729228

Change-Id: I9e62d5de10222f1d81b47a68dd0b3ab05de5436d
2013-09-13 13:42:42 -07:00
Alice Yang
17d014dfdf Disable attachment previews
Change-Id: Ic2314f89b813956a6351bed51bfa6881e51605ff
2013-09-13 00:43:55 -07:00
Martin Hibdon
24bb2dabd9 Kill the process when an account is deleted.
b/10653370
This prevents NPEs if a serviec happens to still be running
when an account is deleted.
This mirrors a similar pattern in the gmail app.

Change-Id: I6fd8ae5ffe41580df0a321ec22535403e3f32eee
2013-09-12 18:21:18 -07:00
Martin Hibdon
64690e9452 Merge "Delete POP emails when they are removed from the server" into jb-ub-mail-ur10 2013-09-12 21:55:19 +00:00
Martin Hibdon
e25e6b2937 Delete POP emails when they are removed from the server
b/10461973

Change-Id: Iccd455b4b71d83318c7f5429f399fe5db2558e42
2013-09-12 14:38:55 -07:00
Tony Mantler
da42d856b8 Don't skip attachment saving if the attachment is not yet saved.
Also tidy up warnings

b/10461356

Change-Id: I65ac4c5b512cd67a39c81606391a2b044213f269
2013-09-12 11:04:49 -07:00
Tony Mantler
4f63f1eec1 Merge "Purge views after they're supposed to be destroyed to avoid spurious callbacks" into jb-ub-mail-ur10 2013-09-12 16:28:07 +00:00
Martin Hibdon
92e13548ed Merge "Fix a bug in Pop3 sync" into jb-ub-mail-ur10 2013-09-12 00:49:58 +00:00
Martin Hibdon
85ff07a00a Fix a bug in Pop3 sync
b/10413188
There are still several issues with attachments generally,
but this fixes the most glaring problem: We were short circuiting
in a loop that needed to populate a hash table of remote message
Ids, so not all of them would be present. The later code intended
to load attachments expected it to be fully populated.
There are still several problems, notably that if downloading
doesn't work, it just spins forever, but this fixes the first
problem.

Change-Id: I2b23dcb841edabe108096933fea2350ef61a10f1
2013-09-11 17:19:00 -07:00
Tony Mantler
ecac654c66 Purge views after they're supposed to be destroyed to avoid spurious callbacks
b/10565885

Change-Id: I7ef18fdac566975d15ffd1a19f756a5e5d2aee8a
2013-09-11 16:47:47 -07:00
Tony Mantler
463ed11857 Disable account setup debug screen.
b/10446166

Change-Id: I6703c1950559e9896f168a0cbaec10040eac9589
2013-09-11 15:17:42 -07:00
Tony Mantler
78c166b4cc Disallow duplicate accounts
b/10210901

Change-Id: I11b759246fafabafe29fd8f4d20f6e973f9679a4
2013-09-11 15:15:38 -07:00
Tony Mantler
de8b97c72e Postpone initialization of notification URIs until the EMAIL_PACKAGE_NAME is known
b/10693908

Change-Id: Ia232dda55e03e02db24040b9d17c383addaff0b0
2013-09-11 11:48:38 -07:00
Tony Mantler
2bae64df29 Merge "Notify combined account when individual accounts change" into jb-ub-mail-ur10 2013-09-11 16:21:34 +00:00
Tony Mantler
fc906340f9 Notify combined account when individual accounts change
b/10610684

Change-Id: I675a5b2dfd9ccdb412f2746f5785c8f1141f6a76
2013-09-10 16:44:13 -07:00
Tony Mantler
9e9caaee7c Reorder db update/notify and clean up warnings in EmailProvider
Change-Id: I6c65c18ea19bd1afd956b455ac296a4c2d402662
2013-09-10 16:20:31 -07:00
Tony Mantler
2fb5d2f9dd Don't spam the log with null columns.
My bad.

Change-Id: Ia9bcf2b09f905e3f720814b50453df59d5341038
2013-09-10 11:38:34 -07:00
Yu Ping Hu
ca79aba675 Add the MessageMove & MessageStateChange tables.
We need to track changes that need to be unsynced. Because
Exchange handles moves differently from other changes, we
create two different tables. The tables are structured as
change logs to better handle error cases.

Change-Id: I4df90c75f36707fa117aed9718508426e60e0749
2013-09-09 15:47:26 -07:00
Tony Mantler
582bc439ea Tidy warnings
Change-Id: I08517af26c27a85fddabccf15dd1a50316df5b5c
2013-09-09 09:52:54 -07:00
Tony Mantler
33bc3df32b Always mark messages as seen when we return to the folder list
b/10533884

Change-Id: If1e0774b70a379884cc435fab9965d39531efb58
2013-09-05 14:10:56 -07:00
Tony Mantler
19c11c0b77 Merge "Tidy warnings in AccountSettingsFragment" into jb-ub-mail-ur10 2013-09-05 18:04:07 +00:00
Tony Mantler
39f29d0481 Tidy warnings in AccountSettingsFragment
Change-Id: I933529dac9f37d0734fa7b98a43e8f41eb143698
2013-09-05 11:00:06 -07:00
Scott Kennedy
e743a06ddf Allow going back to search results
If you went from search results to conversation view, then hit the
back button, we were taking you out of search results to the inbox,
because we didn't know you had search results.

Now, we're tracking this (through the use of a folder type), so we
take you where you should go.

Bug: 10591438
Change-Id: I12ad81323fe3e1f199d9dd06a1a4e18f765b01ee
2013-09-04 14:24:00 -07:00
Tony Mantler
67855d3117 Merge "Make UnsavedChangesDialogFragment public so the framework can find it" into jb-ub-mail-ur10 2013-09-04 19:03:21 +00:00
Tony Mantler
6f3a94cca1 Make UnsavedChangesDialogFragment public so the framework can find it
b/10611121

Change-Id: I9daab10d49b492950f2032ee1edf4ca07a3e7ef8
2013-09-04 11:57:54 -07:00
Andrew Sapperstein
66520b3145 Remove CAN_HOLD_MAIL folder capability.
b/9623931

Change-Id: Ic15860d46a6adf8d313536b68ce8e0fad1d97810
2013-09-03 15:16:59 -07:00
Tony Mantler
26cd5e024c Don't store the account creation/modificaiton state in a singleton
b/10460757

Change-Id: I7f0bea69f843f9061d1cfa9277c99d36705aceaf
2013-09-03 14:15:32 -07:00
Andrew Sapperstein
5dcb447c04 Moved some stuff from Email to Unified.
b/10542802.

Change-Id: I9623ce85cae6f67ec647e1712e8c392a35311171
2013-08-29 17:41:26 -07:00
Martin Hibdon
f1e3a72d62 Merge "Correctly fix an outOfBounds error" into jb-ub-mail-ur10 2013-08-28 23:42:42 +00:00
Martin Hibdon
35957ffcf6 Correctly fix an outOfBounds error
b/10380970

Change-Id: I58a57c7a659bb92ba6b6dbf0cbb099d0d252cc37
2013-08-28 16:22:09 -07:00
Martin Hibdon
037e4ad330 Merge "Prevent simultaneous imap and pop syncs" into jb-ub-mail-ur10 2013-08-28 22:30:33 +00:00
Martin Hibdon
466eb2dcd2 Prevent simultaneous imap and pop syncs
b/10527550
I'm not yet sure why we're getting this started
in multiple threads, but the methods where the sync
occurs are now synchronized so they can't happen
at the same time.

Change-Id: Icf7afd336ed056bb42df84b8634117afa8f31213
2013-08-28 15:11:59 -07:00
Paul Westbrook
e4ac06080b Don't use implicit events
Bug: 10189773
Change-Id: I4579f2e465bd23b8ab4cdf291bfbe80cf6518328
2013-08-28 14:31:09 -07:00
Martin Hibdon
0c8df56a0a When loading local messages, don't filter messages by time
b/10508861
Temporary fix for this.
For some reason, we're getting messages loaded with the wrong
date being stored. If we have a message with date = 0, and we
filter out anything older than 24 hours, then these messages
with the wrong date won't get loaded into our localMessageMap.
Then we won't recognize that message is already present locally,
and we will fetch a duplicate.
I don't yet know why we're getting the date wrong.

Change-Id: Ic91cd263198ee944eddbaf1d90080e8285a5df6a
2013-08-27 15:50:09 -07:00
Tony Mantler
7be030ec8e Remove pointless parent class EmailPreferenceFragment
Change-Id: Ia384d92632100c2adfb22c22c03d4755250e388e
2013-08-27 14:22:17 -07:00
Scott Kennedy
0a710bde68 Fix notification preference migration
These settings need to be migrated from the database, not the
SharedPreferences file that likely shouldn't even exist.

Everything added to Account.java was removed in
Ie6ec389b5b5d2e7ab1b299d0877811ae716526e2
when it was believed to be unnecessary.

Bug: 10211615
Change-Id: If6193758febda8a3272d82792492503549a44e32
2013-08-26 14:19:54 -07:00
Tony Mantler
076ab83074 Minor warnings tidy
Change-Id: Ib2a85ca838ae521377855b916c57bb7bd00c42f3
2013-08-26 10:17:14 -07:00
Yu Ping Hu
c76d008c90 Merge "Add the moved messages query." into jb-ub-mail-ur10 2013-08-23 22:54:14 +00:00
Yu Ping Hu
336e65b6e1 Add the moved messages query.
Change-Id: I6dea8055c5d1a4195b9613f684fbd1f5e8d807fd
2013-08-23 15:50:10 -07:00
Tony Mantler
ed4accb24f Clean up warnings, finals, dead and useless code
Change-Id: I8225a78c3b1712479bb5752161e3585a2bc2be2e
2013-08-23 14:43:31 -07:00
Tony Mantler
21b95c1071 Check for null cursor in EmailPreferenceMigrator#migrate()
b/10456199

Change-Id: I3586fbb1aadbcc7e93208aa35ce948b133737d11
2013-08-23 11:43:49 -07:00
Tony Mantler
4727dc2903 Add TODO for debug variable for entering debug screen
See b/10446166 for STOPSHIP notice to disable debug screen before shipping

Change-Id: Ic0c845b558a2b745bc5015beb3eac3864165670d
2013-08-23 10:50:52 -07:00
Tony Mantler
219c3b5b84 Tidy up warnings in account setup fragments
Change-Id: I078df83dbc4afd10c0783a98bfbb23bced12489c
2013-08-22 15:09:42 -07:00
Yu Ping Hu
f89b69abb0 Merge "When adding an account, permit precisely 1 email address." into jb-ub-mail-ur10 2013-08-22 00:37:05 +00:00
Yu Ping Hu
aba5a30c78 When adding an account, permit precisely 1 email address.
Bug: 10357463
Change-Id: I310647e48f21be2942f2ad375b0e2e19c1af9015
2013-08-21 17:21:48 -07:00
Martin Hibdon
b4d4729fa2 Merge "Add PingDuration to the Account table" into jb-ub-mail-ur10 2013-08-22 00:17:25 +00:00
Martin Hibdon
52135c6e87 Add PingDuration to the Account table
b/10328857
this is so that we can keep the current ping
duration and restore it on startup.

Change-Id: I7ae11fd21687cb9013222924934154c5ebe1f7e7
2013-08-21 17:00:55 -07:00
Yu Ping Hu
4525565948 Improve synchronization in EmailProvider.
It's possible to have multiple EmailProviders.
Also get rid of references to the multiprocess attribute.

Bug: 10388165
Change-Id: Ic6be363eaee20b3b5deddc7b3054d1a7419483a1
2013-08-20 15:06:06 -07:00
Tony Mantler
c0a1a81543 Make EmailProvider URL matcher init threadsafe
Also remove mysterious extra indentation

b/10388165

Change-Id: I9a6f16c58e31653e5c47ff2898f66a44412b8a33
2013-08-20 09:58:17 -07:00
Scott Kennedy
8bdf037f9c Remove an unused constant
Change-Id: I4aaf0237719078731e3eb0c2434485530e653c86
2013-08-19 21:27:24 -07:00
Yu Ping Hu
ab45810839 Merge "Disable policy listing in account settings." into jb-ub-mail-ur10 2013-08-20 02:05:54 +00:00
Yu Ping Hu
4df4c1c2d8 Disable policy listing in account settings.
It wasn't working right anyway.
Also, fix a problem where account settings were
not being fully initialized.

Bug: 8384097
Change-Id: Ia60ace2ce618b64fe4ad5ef8d8ac547a086a26d5
2013-08-19 18:52:44 -07:00
Martin Hibdon
b940ed8adf Fix an OutOfBoundsException
b/10380970
This could happen if the response to the POP3
RETR request did not contain a content length.

Change-Id: I99ad93ec71ba917e0f36bee204d7f8d05c79c5ff
2013-08-19 17:07:05 -07:00
Yu Ping Hu
ea69cbe533 Merge "Fix attachments when policies change." into jb-ub-mail-ur10 2013-08-17 02:26:40 +00:00
Yu Ping Hu
901faf1bfb Allow deletion from virtual folders.
Bug: 10367404
Change-Id: I869dfc5af7064e2992bbd47c89fd990e2caaa701
2013-08-16 18:30:44 -07:00
Yu Ping Hu
940a335bab Fix attachments when policies change.
This used to be done in the Exchange code, but it's more
appropriate here.

Change-Id: Ie2bd5722bda46741d367eef3a2e9d2493c3cc4e3
2013-08-16 17:46:01 -07:00
Paul Westbrook
908fac0b24 Fix NPE
Bug: 10292690
Change-Id: I34714a6a07bcaba3d20fdae32ee6b129c74c8a32
2013-08-16 15:53:36 -07:00
Tony Mantler
dae31e6c28 Merge "Reimplement QuickResponse support" into jb-ub-mail-ur10 2013-08-16 21:57:33 +00:00
Martin Hibdon
1a0aa22dc0 Cut down on some unneccesary allocations
We were always allocating a one element array in
a loop. We can just keep create one array and
reuse it.

Change-Id: Ia44f0b711ef48fb87030c3f09f3f9fb654717b7a
2013-08-16 14:19:07 -07:00
Tony Mantler
c6953b7755 Reimplement QuickResponse support
b/8622751

Change-Id: Id079efcf34dce15b5f5057f937582c0e198d3d50
2013-08-16 14:08:54 -07:00
Paul Westbrook
7985b43ab7 Add public no-arg Fragment constructors
Bug: 10311630
Change-Id: I0243462cdc28b9af3151754a8c8583330418579b
2013-08-13 16:43:34 -07:00
Martin Hibdon
66ac290b35 Fix a bug causing duplicate messages to be added
The IMAP time based query only takes a date, not a
date/time. This means that if we want to load all
messages since, for example, Aug 11 at 3:00 PM,
we'll actually get all messages since Aug 11 at any time.

Our local query actually took into account the time, so
when we loaded a map of local messages, it would not
always include all of the same messages that the IMAP
query would. This meant that if we processed a message
that was in our IMAP query window but not our local query
window, we'd always think it was a new message even
if it wasn't.

It's easy enough to increase the size of our local query
window so that it will definitely include all of the
messages the IMAP query might return, but this adds
a new problem: It's no longer safe to delete any local
message that did not come back in our IMAP query result.
Since our local query may include a larger time window
than the IMAP query window, we need to check each message's
timestamp, and only delete it if it is inside the remote
query time window.

Change-Id: Ib3c1bbe8f3db05720d32a981483676afa6d6c38b
2013-08-12 17:22:24 -07:00
Tony Mantler
cef6c19be2 Move the "Add new quick response" button into the action bar
Change-Id: I433fb686837d0de125fb277f5055bc33b7769eff
2013-08-12 12:04:43 -07:00
Paul Westbrook
8c13dcd950 Merge "Fix problem in IMAP with non-roman locales" into jb-ub-mail-ur10 2013-08-12 19:02:39 +00:00
Paul Westbrook
ae29fb76f0 Fix problem in IMAP with non-roman locales
This is a partial cherry-pick of:
https://android-review.googlesource.com/#/c/57514/1

Change-Id: I1dea4d5bf0bd02fec2baf5763f5864c3eb32f744
2013-08-12 11:43:44 -07:00
Tony Mantler
948e503b4a Merge "Continue rewriting QuickResponse support" into jb-ub-mail-ur10 2013-08-12 18:42:49 +00:00
Tony Mantler
6d24534804 Continue rewriting QuickResponse support
Change-Id: I95530e84d91f4becb3de5280af83ce546e1ed093
2013-08-12 11:40:16 -07:00
Alice Yang
50f0cba92c Merge "Sync disabled tip" into jb-ub-mail-ur10 2013-08-12 05:38:59 +00:00
Yu Ping Hu
4ef1f6a689 Merge "Synchronize all access to the EmailServiceInfo map." into jb-ub-mail-ur10 2013-08-09 20:41:47 +00:00
Paul Westbrook
3b758913be Merge "Use DatabaseUtils method instead of query()" into jb-ub-mail-ur10 2013-08-09 19:19:44 +00:00
yi.jang
44e1603155 Use deleteDatabase method to improve safety of DB file handling
Deleting .db files can make malformed database issues
when WAL(write ahead logging) mode is enabled.
EmailProvider doesn't use WAL mode currently,
But it has to be fixed because it might cause the problem in the
future.

Change-Id: Ie0313c5d253f3080401b00b197e7cbf97f25423c

Conflicts:
	src/com/android/email/provider/EmailProvider.java
2013-08-09 11:58:15 -07:00
Yu Ping Hu
b5eed31d1b Synchronize all access to the EmailServiceInfo map.
Bug: 10255995
Change-Id: I36bee575a923b5c8bfbaea7babdf9f2c5e9bd378
2013-08-09 11:51:53 -07:00
yi.jang
a674551464 Use DatabaseUtils method instead of query()
Use DatabaseUtils.longForQuery() method instead of SQLiteDatabase.query().
This reduces processing cost of database cursor.

Change-Id: Ibe53645b32a4de1ab6518f879e564ddf8f75d822

Conflicts:
	src/com/android/email/provider/EmailProvider.java
2013-08-09 11:50:27 -07:00
Tony Mantler
fdb0fc712a Merge "Start cleaning up QuickResponse code" into jb-ub-mail-ur10 2013-08-08 02:21:18 +00:00
Yu Ping Hu
bf0911f3de Disable attachment preview pref.
Bug: 10232077
Change-Id: If1ed251d63befd40dc55ada2da7c56f5ac611c68
2013-08-07 18:09:13 -07:00
Tony Mantler
05273f8309 Start cleaning up QuickResponse code
Change-Id: I76b5adbe8e05713c44d11a2e51d317cae6266a56
2013-08-07 16:57:21 -07:00