Commit Graph

8667 Commits

Author SHA1 Message Date
Baligh Uddin
4252a00d14 Import translations. DO NOT MERGE
Change-Id: If5eccf3f6db2ff03b57ec1a1687af73e8df08edc
Auto-generated-cl: translation import
2013-11-13 19:53:25 -08:00
Martin Hibdon
ad0e42887f Merge "Fix an infinitely retrying download problem" into jb-ub-mail-ur10 2013-11-12 19:28:59 +00:00
Yu Ping Hu
99ee8eb044 Merge "Null check for getServiceInfo" into jb-ub-mail-ur10 2013-11-12 19:05:18 +00:00
Tony Mantler
ea0989043a Null check for getServiceInfo
b/11538007

Change-Id: I8b06f22373c3a389939614e9c24bbe143b6fc289
2013-11-11 15:47:19 -08:00
Baligh Uddin
0d21834d20 Import translations. DO NOT MERGE
Change-Id: I855a62d408f803c13928a0c33ea65e673037eb7c
Auto-generated-cl: translation import
2013-11-11 11:33:54 -08:00
Alon Albert
802bf1b4a7 Ignore Messsages With No Timestamp
When calculating oldest local message

Bug: 11520812
Change-Id: I0e70431d57235b5f97a3cd01c35af1b61e3dad7e
2013-11-08 16:20:52 -08:00
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
Baligh Uddin
33efdd7dad Merge "Import translations. DO NOT MERGE" into jb-ub-mail-ur10 2013-11-07 04:05:02 +00: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
Baligh Uddin
0302a93112 Import translations. DO NOT MERGE
Change-Id: I9fbf204f0755e6a7a6c9cdc412ee14b56b75a596
Auto-generated-cl: translation import
2013-11-06 15:33:55 -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
580b3f7b38 Merge "Fix attachments in search results" into jb-ub-mail-ur10 2013-11-06 20:22:07 +00:00
Alon Albert
042e69400f Merge "Build with current SDK" into jb-ub-mail-ur10 2013-11-06 19:12:00 +00: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
Alon Albert
4927a24f6f Build with current SDK
Bug: 11533662
Change-Id: I13c26034c1cb2dcc03c281b49dda4df184592e17
2013-11-05 17:54:30 -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
Tony Mantler
dbda4a005b Add permission required for eml viewer to save attachments
b/11437237

Change-Id: I55b9d70c9b5e02d58151b4e678aa09348f921b63
2013-11-04 11:53:33 -08:00
Tony Mantler
e1064b9222 Merge "Foreign characters may be letters and digits, but they're not allowed in Uri/Url schemes" into jb-ub-mail-ur10 2013-11-01 22:20:53 +00: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
Baligh Uddin
bd68009dfd Merge "Import translations. DO NOT MERGE" into jb-ub-mail-ur10 2013-11-01 14:55:17 +00: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
2ed113c713 Foreign characters may be letters and digits, but they're not allowed in Uri/Url schemes
b/11356390

Change-Id: Ic510607ab5f671e3f3f474ea3c2f4af7e9966cb1
2013-10-31 16:39:03 -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
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
2a33eccd19 Merge "Don't initiate fragment transactions from onDestroy()" into jb-ub-mail-ur10 2013-10-30 21:12:06 +00:00
Baligh Uddin
f6ddafe539 Import translations. DO NOT MERGE
Change-Id: Ib8715bd36401ec8959d2eabe87a1110a56576458
Auto-generated-cl: translation import
2013-10-30 12:20:19 -07: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
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
eb280d1b45 Merge "Disable Move Actions for POP3 Folders" into jb-ub-mail-ur10 2013-10-29 19:36:17 +00:00
Alon Albert
ae46818a19 Disable Move Actions for POP3 Folders
Bug: 11311812
Change-Id: I5813281cca76b9b4a373b5b40dbbd1909800f951
2013-10-29 11:06:36 -07:00
Yu Ping Hu
edebff6db3 Increment Email version.
Change-Id: Ia8dc17f106d5bbadcb3fe17d545120712718f56c
2013-10-25 18:21:25 -07:00
Yu Ping Hu
feacaf6351 Do not try to load nameless attachments.
Bug: 11347094
Change-Id: I46321755cebe25858c0188f35270d428dfe4a435
2013-10-25 14:21:02 -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