Commit Graph

344 Commits

Author SHA1 Message Date
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
Tony Mantler
fb9deb96c3 Make intents more explicit
also fix intent strings.

Change-Id: I880fd6cd6192ae43002e1ddc8558f823141c5952
2013-12-09 10:18:34 -08:00
Jerry Xie
b174976d59 Merge "Get Email units to compile" into ub-mail-master 2013-12-05 22:04:13 +00:00
Jerry Xie
17d3a29c9d Get Email units to compile
Change-Id: I171a0e2421c5006d9862ad94f886932146547020
2013-12-05 11:11:21 -08:00
Martin Hibdon
e62688f0d6 Add configuration for oauth providers
There is now an xml file that holds parameters for oauth
providers, and entries in providers.xml can specify that
they can use oauth.

Change-Id: Ibce5b207f83ce9c773f8f713be9e73bb068070ed
2013-12-03 16:27:08 -08:00
Tony Mantler
34662f11b2 Save policy when saving account
Also add a loader to AccountSecurity, and ignore when a policy contains unsupported requirements.

b/11790165

Change-Id: Idd651153848eea3216656047c5aba3bbd750ca0a
2013-11-27 14:42:49 -08:00
Yu Ping Hu
a702a7bbd8 Merge "Fix account deletion when removing security policies." into ub-mail-master 2013-11-25 23:38:03 +00:00
Yu Ping Hu
a60550e0eb Fix account deletion when removing security policies.
- Delete accounts, not just account data.
- Wait for PIM data to get deleted before proceeding.
- Reconcile after deleting an account.

Bug: 11856902
Change-Id: Ie52b7c583688bf48a33bcf6b4e555b8c055b476c
2013-11-25 12:50:28 -08:00
Tony Mantler
4b629cf258 Null check certificate alias before trying to configure it
Bug: 11678638

Change-Id: Ia12789ac3553ef959a8c9bbf13f017b1a154f560
2013-11-15 20:51:00 +00:00
Yu Ping Hu
8fde9e27f8 Merge "Check for ArrayIndexOutOfBoundsException" into jb-ub-mail-ur10 2013-11-13 17:32:14 +00:00
Alon Albert
cde694c5e1 Check for ArrayIndexOutOfBoundsException
Quoted text pos may be out of bounds of message body.
This may be caused by the pos being calculated in html while the message is being
sent as plain text. A seperate CL will attempt to address the root cause. This
is a last resort so we don't crash.

Bug: 11538910
Change-Id: I326ebe56ee15368983caa2fa76605e7658dab014
2013-11-12 15:33:45 -08:00
Martin Hibdon
e39f2b0f27 Add fallbacks if sentDate is not set
b/11520812
This should make behavior better if the imap server
does not set the date header.

Change-Id: I593e14ce0a94179a39779ec47831fb8d3caef95b
2013-11-12 11:52:01 -08: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
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
Yu Ping Hu
feacaf6351 Do not try to load nameless attachments.
Bug: 11347094
Change-Id: I46321755cebe25858c0188f35270d428dfe4a435
2013-10-25 14:21:02 -07: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
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
a5a28ffb63 Do not require RPC for getCapabilities.
Bug: 11241892
Change-Id: I3da136c9035414c821ee2038da01134c551bb9dd
2013-10-18 14:09:09 -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
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
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
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
Yu Ping Hu
19675e8bd7 Add a mailbox type filter for syncing.
Bug: 11081520
Change-Id: I76bcc0db08d2def3418849b9536b2e7ac1769f34
2013-10-07 22:16:47 -07:00
Martin Hibdon
6700000ad1 On initial sync, do inbox first
b/11081520
This improves perceived performance, the inbox
messages will come in before contacts and calendar

Change-Id: Icd9630d9cd2fb79a54d0ed2c11702a1a3091ed7e
2013-10-04 16:01:10 -07:00
Yu Ping Hu
cae08a64fb Fix my query. Again. :(
Change-Id: I2453bd3daa00f16cecdec8da93b21b98ae8d5e7b
2013-10-04 15:02:28 -07:00
Yu Ping Hu
29984af2b2 Fix a sql statement.
Change-Id: I32cb6f5e52173059b08a83cbf65c9e4ac31302b4
2013-10-04 14:53:42 -07: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
840408c41c Remove mAmAccount from the email provider account object
b/11070468

Change-Id: I51bad4be41800e4cd6dae42744005ade784cdf82
2013-10-04 10:21:25 -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
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
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
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
Alon Albert
29d886ced7 Implement a resyncMailbox Method
Deletes all messages in a mailbox, resets the sync key and requests a sync.

Only supports Mail mailboxes for now.

Change-Id: Iab8c051631f38687c02a22cb80ce4f50c2d9c6f1
2013-09-19 08:27:41 -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
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
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
Paul Westbrook
e4ac06080b Don't use implicit events
Bug: 10189773
Change-Id: I4579f2e465bd23b8ab4cdf291bfbe80cf6518328
2013-08-28 14:31:09 -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
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
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