Commit Graph

5417 Commits

Author SHA1 Message Date
Todd Kennedy
518fc490b2 Fix bug where we fail to acknowledge an APPEND
After appending a message to a mailbox (i.e. like appending to the 'sent'
mailbox after composing a new message), we would try to determine if the
append was successful by searching for the message. Most servers return an
APPENDUID response with the message's new UID. However, on those that don't
support APPENDUID, we need to perform a SEARCH for the message id. On one
set of these servers, the search would fail if the query string was
surrounded by parenthesis. However, another set of servers will fail if the
query string is not surroudned by parenthesis. So, we now try both ways.

Change-Id: I5a82ad241fb927e28aa5d05376568d5eac266a95
2011-05-17 10:43:46 -07:00
Makoto Onuki
e211b1a32a Merge "Remove stale proguard entries" 2011-05-17 10:09:00 -07:00
Todd Kennedy
b522a2c166 Merge "Fix Store re-using old data" 2011-05-17 08:49:55 -07:00
Todd Kennedy
581e3c2333 Fix Store re-using old data
The key for the Store cache was not adjusting properly for account
changes (such as port changes, etc...). As such, it was possible to
get an invalid store.

Now, there's problem with leaking Account objects if the store account
changes (see bug 4440839). This is "okay" for now since account changes
are fairly uncommon and Account objects are light. However, this should
be fixed at some point.

Change-Id: I4ddcbc3e2759b7b1374d0300706373678dedec94
2011-05-17 08:48:33 -07:00
Makoto Onuki
54c91f00d7 Use IllegalArgumentException, not InvalidParameterException
Because IllegalArgumentException is the standard one.

Change-Id: Ib4d0bfa88a3d4218148a7cb248d9baa2124a72ba
2011-05-16 17:48:46 -07:00
Makoto Onuki
7e1fa63d75 Merge "Clean up fragments" 2011-05-16 17:22:37 -07:00
Makoto Onuki
954f037d8f Clean up fragments
Now that we don't reuse fragments and always use newInstance() to pass
arguments, there's a bunch of unnecessary things in them, such as
clearContent().

Also now MessageListFragment takes an account ID as an argument.

Bug 4346486

Change-Id: I7e05628c481ed56512c2281257239105d40ee1bc
2011-05-16 17:17:20 -07:00
Todd Kennedy
171c3f2273 Some more re-arrangement of code
No real code changes; just moving where code / constants live. Removed
one unused method of Store.

Change-Id: Ie7532381759a568cb23601e1071c8e199b6beb07
2011-05-16 14:47:49 -07:00
Todd Kennedy
ebece4dbdc Make ImapConnect a top-level class
Split out ImapConnection to its own class. This allows us to update ImapStore
without worrying about links between it and the connection.

Also, added a bit more safety to the classes in terms of correctly freeing
resources. Whenever the connection is closed, it now releases all resources.
Additionally, if the connection is ever put back in the pool, any response
data is released.

Change-Id: Ie3bda40d677707a0d6655f57175e58dece539e19
2011-05-16 14:17:58 -07:00
Makoto Onuki
f8414e2efe Remove stale proguard entries
Change-Id: I9b1be6b96341184b4bf9cd96ae4535cdc19819ce
2011-05-16 13:49:26 -07:00
Makoto Onuki
b9c2e0d5e6 Remove the phone activities from manifest
Apparently I forgot to include this in the huge CL...

Change-Id: I4b3e944b328e6b8a3e20427904ba654dab2041ac
2011-05-16 13:29:27 -07:00
Makoto Onuki
4c4e4c3515 Clean up the method to build message list selection.
- Moved the method to EmailCommon.
- Use *_SELECTION for magic mailboxes
  (meaning we now use subqueries for magic mailbox selections, rather than
   building the mailbox ID list by ourselves)

Change-Id: I3ebf6af62fd912fea6faea0f75e05fc61c87af3b
2011-05-16 11:08:05 -07:00
Ben Komalo
e0bb7e7909 Make Mailbox parcelable
Also fix unit tests

Change-Id: I5f64f53b278b7bc27053d831760b155532a14e33
2011-05-13 18:35:08 -07:00
Ben Komalo
53ea83ebf9 Move Mailbox to top level class.
No other changes made.

Change-Id: I3d8f3c521dc0d902be313b25252b4b6a4a96e7ee
2011-05-13 17:42:02 -07:00
Ben Komalo
373c3e1a56 Merge "Put account email as title on phone settings." 2011-05-13 14:41:22 -07:00
The Android Automerger
75080bfd4c merge in gingerbread-release history after reset to gingerbread 2011-05-13 14:27:35 -07:00
Makoto Onuki
bfac9f2e8a Move some of the log constants from Email to Logging
Change-Id: If9f4e4e3adcdef897a0d6a4e153bb446a8b24fdd
2011-05-13 14:24:38 -07:00
Ben Komalo
3955f6794f Put account email as title on phone settings.
This is kind of a convoluted issue; the framework automatically sets the
breadcrumbs on multi pane settings. However, on single pane, it doesn't
pass any of that breadcrumb info on, and just uses an Intent to start
another instance of the activity with a different Fragment.
Unfortunately, nothing in the default codepath sets the title to
correspond with the breadcrumbs (as it would have been in multipane)

Change-Id: I428642771538bdec3bdaba644f7816a1250ae929
2011-05-13 13:56:26 -07:00
Ben Komalo
8c9167027f Merge "Rename AccountSettingsXL -> AccountSettings" 2011-05-13 13:56:20 -07:00
Makoto Onuki
f1554751c7 Merge "Clean up fragment intallation." 2011-05-13 13:52:05 -07:00
Makoto Onuki
1fba8254c5 Clean up fragment intallation.
Change-Id: Ia9c9d713dc921783995a8a50cc8b256b8392c1a7
2011-05-13 13:18:35 -07:00
Todd Kennedy
4790bd6041 Merge "Remove notifyNewMessages() service callback" 2011-05-13 11:26:04 -07:00
Ben Komalo
2866284a6d Rename AccountSettingsXL -> AccountSettings
This activity already supports phone and tablet mode.
Only renames in this change - no other change.

Change-Id: Ieca17137af45e3860812091f69cd4d9b55ddf3ec
2011-05-13 09:58:15 -07:00
Makoto Onuki
82b136bba2 Merge "Adding hdpi search icon" 2011-05-13 09:29:02 -07:00
Todd Kennedy
577ddb7dd7 Remove notifyNewMessages() service callback
Since the notification controller now operates exclusively using database
observers, there's no reason for the exchange service to call the
notifyNewMessages() service API.

Change-Id: Iaa7e2f5eae786162eab23b02b03ce6d1e8a738e9
2011-05-13 09:10:28 -07:00
Makoto Onuki
c7a1cc25c2 Adding hdpi search icon
bug 4415493

Change-Id: I6cff88efaca72b887a44462861b288d90299ee3b
2011-05-13 09:03:19 -07:00
Todd Kennedy
f437892348 Open message if only one message in notification
If there is only one unread&unseen message in the notification, clicking the
notification will automatically open the message view fragment. Otherwise,
the message list fragment will be opened.

Change-Id: I22778258836a36f289d71b99a6214ec82778f385
2011-05-13 08:41:48 -07:00
Todd Kennedy
76061eba14 Remove SuppressWarning("unused") wherever possible
Change-Id: Ie799f02ab39a7d020af1fb98b6bac45fc0fd1298
2011-05-12 16:02:06 -07:00
Marc Blank
a830547adf Merge "Add messaging exception status for "attachment not found"" 2011-05-12 15:53:50 -07:00
Todd Kennedy
5701e0a555 Suspend notifications for currently shown account
We will suspend notifications whenever we display the message list for an
account (including "combined inbox").  As soon as the message list is paused,
notifications will be resumed.

Change-Id: I481a0f59ce68f89c32210d862d0267f3f334063b
2011-05-12 14:03:14 -07:00
Marc Blank
b221cbc785 Add messaging exception status for "attachment not found"
* Adding this enables 4409976 to be fixed in a user-friendly manner

Bug: 4409976
Change-Id: I4f5ce890b6957c27a0f59656467dbe23b480a7e3
2011-05-12 12:11:43 -07:00
Marc Blank
ffeb7de284 Merge "Fix a race condition in which an Attachment might be wrongly deleted" 2011-05-11 18:03:26 -07:00
Marc Blank
2f6cbb021c Fix a race condition in which an Attachment might be wrongly deleted
* This is a serious bug dating back to the first Honeycomb release
* It was possible that a newly created Message could not yet be
  committed to the database when the AttachmentDownloadService
  tries to download one of that message's attachments.
* ADS, when it sees that the message (apparently) doesn't
  exist, deletes the Attachment (it appears to be orphaned)
* The effect is that the user never sees one of the attachments
  in a message.
* This bug has been reported externally
* The fix is simply to check for the message's existence before
  deciding to delete it (this check will always work properly)

Bug: 4409692

Change-Id: I106ed2fe88d2435ad7a462fced5cb307c2559fd6
2011-05-11 17:27:37 -07:00
Makoto Onuki
0c9890cf83 Merge "Remove unused strings" 2011-05-11 17:26:01 -07:00
Todd Kennedy
e7fb4ac9e3 Add account observer to NotificationController
The notification controller now observes changes to the account database and
adds or removes message observers as appropriate.

Change-Id: I1670fcfd6ce744030199b86708a6ada55b239a84
2011-05-11 17:22:56 -07:00
Makoto Onuki
4ddc2f20c1 Remove unused strings
Change-Id: I19a0a2d165827240a1cc2dd6a2cb03cbaf0f99c7
2011-05-11 17:00:44 -07:00
Makoto Onuki
03b0870ae2 Remove more unused resources
Change-Id: Ib50d0e4114349fcbcad6924b1f0aa82c33428e28
2011-05-11 15:58:47 -07:00
Makoto Onuki
94331c96d9 Remove phone activities and implement one-pane
The primary purpose of this CL is to remove phone activities, so the
one pane implementation is very much temporary and primitive, but it
should offer minimal operations.

Change-Id: If57f81db7c605c95664d49044a5cc082beda59c0
2011-05-11 15:35:27 -07:00
Todd Kennedy
dfdc8b6da3 Fix NPE in NotificationController
bug: 4409317
Change-Id: I7e515ba7c4fa7114e2bf9ecf6cb473cb3506ad1c
2011-05-11 13:45:42 -07:00
Eric Fischer
070d90d70a am fef80894: (-s ours) am 963bc99b: am a174247a: (-s ours) Import revised translations. DO NOT MERGE
* commit 'fef8089451bb22827935b1322896782d3d1c5190':
  Import revised translations.  DO NOT MERGE
2011-05-11 13:09:18 -07:00
Eric Fischer
570c01a364 am 8e39b792: (-s ours) am ac60d037: Import revised translations. DO NOT MERGE
* commit '8e39b7920c232d14b7666adb2516d51966b5d9a6':
  Import revised translations.  DO NOT MERGE
2011-05-11 13:08:54 -07:00
Marc Blank
4c3a5375ac Merge "Create/test method to set "not downloadable" flag based on policy" 2011-05-11 11:22:25 -07:00
Marc Blank
b2a909598b Create/test method to set "not downloadable" flag based on policy
Change-Id: I08bec46d0c961bdc9530768f5198346338b3e2f3
2011-05-11 11:21:33 -07:00
Todd Kennedy
bb7787bd3d Merge "Create a new notification service" 2011-05-11 07:55:58 -07:00
Todd Kennedy
71bd208ddd Create a new notification service
We can remove the preferences stuff 'cuz the service "should be" longer
living. And, even if the service is terminated (either by the user or by
the system) we'll receive a new notification when the service comes back.
This is probably desired behaviour anyway.

Change-Id: I4850a9473401536e8fb20385b780d4736ce80a8e
2011-05-11 07:54:07 -07:00
Marc Blank
791665da67 Merge "Add plumbing for disallowing attachment download per policy" 2011-05-10 18:31:36 -07:00
Marc Blank
9d9b481a85 Add plumbing for disallowing attachment download per policy
Change-Id: I860dfb5c28933dcd4bf96c8e4bc890bff0f53c42
2011-05-10 18:26:00 -07:00
Todd Kennedy
d31d64d330 Merge "Use observers to manage new message notifications" 2011-05-10 17:09:07 -07:00
Marc Blank
5d08360a9b Merge "Complete rewrite of account backup/restore code" 2011-05-10 16:23:41 -07:00
Eric Fischer
257261027b Merge "Import revised translations." 2011-05-10 16:04:10 -07:00