Commit Graph

387 Commits

Author SHA1 Message Date
Tony Mantler 2f288864b6 Fetch email bodies using ContentResolver#openInputStream
This brings us further along the path to storing email bodies
outside of the database.

Change-Id: I96296114ade0d561df724878ed92999306bcd176
2014-05-08 15:50:57 -07:00
Tony Mantler 9a80ffce14 Handle attachment filenames with % characters
b/14571903

Change-Id: I3296bebfb4c6902750c68c9d3fb79ce644dbb137
2014-05-06 10:26:45 -07:00
Tony Mantler aab514c942 Catch empty mime type and substitute application/octet-stream
b/14564897

Change-Id: Id91dd18ef8b3fab449eb178bde73303107b78590
2014-05-05 13:26:22 -07:00
Tony Mantler 32471fc22e Catch exceptions when DownloadManager is disabled
b/14562210

Change-Id: If3f2da034e8492de049bc3bcac910a033c47d600
2014-05-05 10:23:12 -07:00
Tony Mantler 564a5343cc Merge "Don't allow empty or null filenames" into ub-mail-master 2014-05-05 16:14:56 +00:00
Tony Mantler d0b54a2948 Don't allow empty or null filenames
b/14500106

Change-Id: I519e4a0fe392c3bdbb84f1ccbdea89f07b9c1426
2014-05-02 16:42:46 -07:00
Jay Shrauner 2fc13087e7 Parse abbreviated date fields
Add support for abbreviated dates with no timestamp (eg, "2009-01-02") to
parseEmailDateTimeToMillis.

Bug:14496986
Change-Id: Ifc77cb75fd9e23536b48c8f6ecefc0e2e8f1cc2c
2014-05-02 16:17:17 -07:00
Tony Mantler d786b90cb5 Don't allow non-constant format strings
Also clean up warnings and delete unused code

b/14488939

Change-Id: I0fc552b8437958331c30f2ddd05ae33c0010e79f
2014-05-02 10:05:27 -07:00
Jay Shrauner 988d2b6e85 Fix Exchange crash when parsing abbreviated dates
Detect fully qualified and abbreviated date/time stamps in parseDateTime.
Previously parsed fully qualified forms like 20090211T180303Z; now also
parses 20090211.

Bug:14279251
Change-Id: I9a99ae16a5c1fe87b977fbebdba307baa653d539
2014-04-30 09:53:00 -07:00
Tony Mantler 40de3040e9 Merge "Warnings and finals" into ub-mail-master 2014-04-29 21:22:01 +00:00
Tony Mantler d3154ecc6e Warnings and finals
Change-Id: Idc31b2f3376db73b90558fb22bdcdf4ff6f92b7d
2014-04-29 13:36:24 -07:00
Tony Mantler 4aec413a1e Warnings and Finals
Change-Id: I47f29c16c066eb077c64ef8c89e91df88d15caf0
2014-04-29 11:46:22 -07:00
Anthony Lee 533093abd7 Make sure that queries against the Body table have ID columns.
Performed some cleanup and updated the source key projection
to include an ID to make sure that EmailMessageCursor works
properly.

Change-Id: I272fac474de876fdd2a08136e0ba97b3f5dc2c7e
2014-04-28 16:11:04 -07:00
Anthony Lee dc6bb6aa41 b/14075613. Treat empty strings the same as null strings.
Found this issue when addressing the root problem for this bug and testing
with various mixes of text and html content in emails.

Change-Id: I875fd9fac85b07484c27db383e3ac4a3cb935ee6
2014-04-22 14:12:20 -07:00
Tony Mantler 3c73a04bec Continue purging the unused reply parts
Change-Id: I47b5bbe50ba36e68ad7ba80647f401b992660ba1
2014-04-18 14:04:23 -07:00
Tony Mantler fd69e5b036 Purge unused/obsolete body fields
Change-Id: Idafa09b58f5753e4cb3cad754c861cc8e3d80c34
2014-04-17 14:32:10 -07:00
Tony Mantler 9caaebb142 Bypass the cursor completely when passing message within EmailContent contexts
We should investigate using PFDs when passing to the UI layer too, for consistency

Change-Id: I21ad1987926b93af20287ae8e49bfc7a4ad99570
2014-04-16 16:49:29 -07:00
Tony Mantler 3dd85723a1 Cleanup in EmailContent
Change-Id: Ifa251eb206779f59ea003f99395d454c7e407bc2
2014-04-14 12:54:39 -07:00
Tony Mantler 80d7676985 Remove flawed body-mangling code, add some finals
Change-Id: Ia3dc53cc36e5c2912d4366d4e1a0d69b87c4409b
2014-04-11 14:50:22 -07:00
Tony Mantler 2aeb498d4e Fix attachment loading for messages which have been forwarded
These attachments have a contentUri where the attachment ID is not equal
to the ID of the actual attachment.

b/13900073

Change-Id: Ic62b8165be2e80bc47eac40dc9eb5ac53c3cd6c5
2014-04-08 14:18:56 -07:00
Martin Hibdon dc0ac5a316 Upgrade my logging from .e to .wtf
b/13640564

Change-Id: I360aa6bab99cc1c414b4f89fcfe3c82eb6e282c3
(cherry picked from commit 8eaa3f029e)
2014-03-27 21:30:46 +00:00
Martin Hibdon 4d6225d699 Merge "Add logging to help track down a bug causing invalid credentials" into ub-mail-algol 2014-03-27 21:30:15 +00:00
Martin Hibdon 7c8eee40c1 Add logging to help track down a bug causing invalid credentials
b/13640564

Change-Id: I1161764e1278375eb786689a11e6899e8363fc8b
(cherry picked from commit 5419284715)
2014-03-27 21:25:16 +00:00
Tony Mantler 38f9991634 Fix IMAP message upsync to include attachments.
b/13138456

Change-Id: If16b619a650c640a37cb4563750a6327a5e601e6
(cherry picked from commit 0c8696c2eb)
2014-03-27 21:23:32 +00:00
Anthony Lee eba80c114e b/9564335. Add support for a maxAttachmentSize column in the Account
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
2014-03-19 17:33:29 -07:00
Yu Ping Hu 8103f960d0 Add sync to IEmailService.
This supports the EasService design.

Yes, I just removed a startSync function from this interface last month. No,
I didn't quite know at the time that I'd be adding one back. :)

Change-Id: I19d9c7838473d8982560764fdba0056cba03d132
(cherry picked from commit 4a5b11d650)
2014-03-20 00:11:36 +00:00
Anthony Lee 70cb2878d7 Changed the IEmailService interface to accept and accountId in
the loadAttachment() call. This work was necessary to support
the new EasService & EasOperation infrastructure.

Change-Id: Idd507aec999596ccd4afa5f03ff2b3c2e38a9029
(cherry picked from commit efac8255ed75d22e60036e19e7a95f8407d18ad3)
2014-03-19 23:53:28 +00:00
Yu Ping Hu 701134953e Add pushModify to IEmailService.
This call lets the service know that the push settings for an
account have changed.

Change-Id: I7ed41853df6af6762c80283a2a3510ce41551657
(cherry picked from commit 446136a2278652c627068ecddff534de1ad431ab)
2014-03-19 23:51:14 +00:00
Yu Ping Hu f679cd08d1 Delete unused functions from IEmailService.aidl.
Change-Id: I131d2d3436a50c94d664fc57c6514481d9afbc97
(cherry picked from commit 8ff6c107867bc2044ba50cad010dbf4a2e93436e)
2014-03-19 22:35:47 +00:00
James Lemieux 0dffe3afd7 Keep on getting a couldn't sign-in notification
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
2014-03-07 16:38:47 -08:00
Tony Mantler 76472ae40c Merge setup fragments under a single activity
Change-Id: I10cf8bb9f6bc1a26ea97ae664f0196ae9e9493b5
2014-02-26 13:47:41 -08:00
Tony Mantler 822f17d6c1 Merge "Mark otherwise unused method as @VisibleForTesting" into ub-mail-master 2014-02-19 00:11:01 +00:00
Tony Mantler feeb1e3ada Mark otherwise unused method as @VisibleForTesting
Also fix spelling cancellAllInterrupt -> cancelAllInterrupt

b/13082964

Change-Id: I2fef949bb351a536fdd0d7058b3df2b03eecb39e
2014-02-18 15:59:03 -08:00
Martin Hibdon 38fd08e470 Merge "Make settings flow work for OAuth" into ub-mail-master 2014-02-14 19:59:25 +00:00
Martin Hibdon 87de90282b Make settings flow work for OAuth
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
2014-02-14 11:55:26 -08:00
Anthony Lee c165d9bd77 Merge "Introduce an SSL handshake timeout value of 30 seconds." into ub-mail-master 2014-02-13 19:15:42 +00:00
Anthony Lee 37a4c65e58 Introduce an SSL handshake timeout value of 30 seconds.
Motorola 0009-IKXREL1KK-5011 patch. Hanging on an SSL handshake is
a real situation that needs to be handled. 30 seconds is more than
enough of a timeout to abort on a potential hang. The coincidental
thing is that there was a fix that was made a while back to email 1
that addressed the same issue in similar code. You can reference it
here: b/7583420.

Change-Id: I0533e57f8c5d45d241adb7f37d54ebe1f0ad9368
2014-02-13 08:32:10 -08:00
Anthony Lee 6ef1621f44 In 4.4 unbindService can return other RuntimeExceptions outside of
IllegalArgumentException.  Make sure we catch it.

This fix comes from Motorola 0007-IKXREL1KK-3886 but part of that
patch was reverted because we already had found and fixed the
other problem.

Change-Id: I0b6aa1f91e7d2fa4dfc3af5ff590781c8812c14e
2014-02-12 14:08:40 -08:00
Tony Mantler cd45d20256 Merge "Fix content observing" into ub-mail-master 2014-02-07 18:44:23 +00:00
Tony Mantler 0f8d16f56a Fix content observing
b/12834957

Change-Id: I00e2fc48e1d78665e0cdcfc3f4fb483f5a047252
2014-02-05 16:58:54 -08:00
Martin Hibdon 58fbd2a477 Add sign in Activity
This allows the user to choose which type of authentication
to use for existing IMAP accounts.

Change-Id: Ib44364a1059a2c4b8a7a0fa66b14cd042b28770e
2014-02-05 13:10:11 -08:00
Tony Mantler 7ee567f1b4 Merge "Clean up AccountSettingsFragment loading" into ub-mail-master 2014-01-30 23:04:10 +00:00
Tony Mantler 062f27fa37 Clean up AccountSettingsFragment loading
Also extend EmailContent to allow registering a ContentObserver

b/12816752

Change-Id: Ida873ac10101af92c627858d1d86c3a5ccd4ab26
2014-01-30 14:05:20 -08:00
James Lemieux 1fa303478c Eliminate redundant methods in Address class
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
2014-01-22 16:15:57 -08:00
Martin Hibdon e8eb6e659b Make OAuth work
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
2014-01-03 14:05:46 -08:00
Martin Hibdon ab29555b72 Log the stack trace if we do a DB operation on the UI thread
Change-Id: I0b9e7fff502ef5ee0f8b373cb3352958b8de08c2
2014-01-03 09:07:01 -08:00
Tony Mantler 1a1064c488 Update target SDK to 19, and add uses-sdk tag for emailcommon
Change-Id: I9ec3cd29d841f82ba4d8466f1f3cdcc20b634626
2013-12-20 15:21:01 -08:00
Martin Hibdon 05723aa0f6 Don't put Credentials in HostAuth parcels
The problem is that exchange isn't compiled with this
change, so HostAuth parcels to or from exchange fail.
Ultimately, we'll need to probably create a HostAuth2
object or something along those lines. For now, just
change the format of HostAuth parcels back, so they
stay compatible with exchange, I'll figure out a real
solution later.

Change-Id: I9c8c8639b7b474fe82dfdc37a9e51a0451820105
2013-12-10 17:12:00 -08:00
Martin Hibdon 44a6fc31a2 Merge "Allow database to hold oauth credentials" into ub-mail-master 2013-12-10 00:27:32 +00:00
Martin Hibdon 0b25179dab Allow database to hold oauth credentials
Change-Id: I127297fd78c7676995f1dcfa59fbbcafe4e72e8e
2013-12-09 16:18:28 -08:00