Commit Graph

2811 Commits

Author SHA1 Message Date
Todd Kennedy
dece5050c2 Don't sync messages moved from the sent folder
When processing message updates, we handle messages in the "sent" folder
specially. We continue to do that. However, we must also check that the
given message is still in the "sent" folder.

bug 4096266

Change-Id: Iaa47512fad287e63d8216b755a761b52b324cfff
2011-03-17 13:16:36 -07:00
Andy Stadler
b959d9b9b2 am 22759bac: Handle complex chars policy correctly
* commit '22759bacd95385d95d3d9321f490763df1aba89d':
  Handle complex chars policy correctly
2011-03-16 12:38:57 -07:00
Andy Stadler
22759bacd9 Handle complex chars policy correctly
* We needed to set DevicePolicyMnager.PASSWORD_QUALITY_COMPLEX
* Setting this, we also need to clear some of the defaults for complex
  mode that are not correct for Exchange's definition of "complex".
* Unit tests

Bug: 4092218
Change-Id: Iea7bd05d48f1aa9406222c1db5937cfd7f2662b8
2011-03-16 09:48:08 -07:00
Andy Stadler
033d911dce am 714b2f2d: Merge "Reduce chance of crash when dismissing dialogs asynchronously" into honeycomb-mr1
* commit '714b2f2da36d750eb4acbf505398a44b93546322':
  Reduce chance of crash when dismissing dialogs asynchronously
2011-03-15 23:51:02 -07:00
Andy Stadler
a685d3b019 Reduce chance of crash when dismissing dialogs asynchronously
* Caught & diagnosed by crash while checking settings
* Also possible in MoveMessageToDialog

Bug: 3412875
Change-Id: Ie78c61cf5ca10ce1eedc25ba2eb97ed0ac5bc615
2011-03-15 15:02:48 -07:00
Andy Stadler
ee6686043a am 0820e008: Merge "Fix race condition NPE caught by monkey" into honeycomb-mr1
* commit '0820e00841aca88e70a88a25e891c156fa578088':
  Fix race condition NPE caught by monkey
2011-03-11 08:56:59 -08:00
Andy Stadler
5f830f8608 Fix race condition NPE caught by monkey
Bug: 4080321
Change-Id: Ia6ef0a47f87ffdc96269a95cc3bc5564d2e98440
2011-03-10 14:56:10 -08:00
Todd Kennedy
d43ebd7804 am 19829ef7: Merge "Fix NPE when trying to open attachments" into honeycomb-mr1
* commit '19829ef7edfe1a72a88e0ba57f3ce6c57d9ae8f6':
  Fix NPE when trying to open attachments
2011-03-10 14:27:19 -08:00
Todd Kennedy
f94fdfd4b5 am d135ac61: Merge "Update attachment buttons after loading attachment" into honeycomb-mr1
* commit 'd135ac61ee22c81509c71273b2d053fc36ea210a':
  Update attachment buttons after loading attachment
2011-03-10 14:25:40 -08:00
Todd Kennedy
19829ef7ed Merge "Fix NPE when trying to open attachments" into honeycomb-mr1 2011-03-10 14:23:05 -08:00
Todd Kennedy
074cc5869d Update attachment buttons after loading attachment
We would update the attachment buttons if the UI was becoming visible (i.e.
coming back from a settings page), but, we weren't updating them after the
attachment finished loading.

bug 4074694

Change-Id: I9d235620b5a92c2bbb871f70c9d97350cc151ce8
2011-03-10 09:06:13 -08:00
Todd Kennedy
edd1c9ac7e Fix NPE when trying to open attachments
The attachment info may be null when we attempt to mark them for downloading.
Add a null-check before we try to dereference the info structure.

bug 4053184

Change-Id: I831e3abd100664c92f7af585014a03250e40ff64
2011-03-09 17:00:46 -08:00
Marc Blank
225a3ea0b6 am 70e99aa9: Merge "Fix download of non-smart-forwarded attachments" into honeycomb-mr1
* commit '70e99aa97f027f9a7dd19e28f978258025f7d9ed':
  Fix download of non-smart-forwarded attachments
2011-03-09 16:17:33 -08:00
Marc Blank
180b6bdaac am 0af709c2: Merge "Make sure services are started when Email application starts" into honeycomb-mr1
* commit '0af709c2c5f953d8f519af8672c01473d7eed2a3':
  Make sure services are started when Email application starts
2011-03-09 16:15:30 -08:00
Marc Blank
4af17a654b am e233fe31: Merge "Only allow prefetch when on a WiFi network" into honeycomb-mr1
* commit 'e233fe315b5fdc5050ea4e3428856a5370567062':
  Only allow prefetch when on a WiFi network
2011-03-09 16:13:14 -08:00
Marc Blank
70e99aa97f Merge "Fix download of non-smart-forwarded attachments" into honeycomb-mr1 2011-03-09 16:12:10 -08:00
Marc Blank
0af709c2c5 Merge "Make sure services are started when Email application starts" into honeycomb-mr1 2011-03-09 16:10:16 -08:00
Makoto Onuki
2a47caef7d am 553037ba: Merge "Fix NPE in NotificationController" into honeycomb-mr1
* commit '553037ba4ecfc72d68743eff223e16fb9511d7c1':
  Fix NPE in NotificationController
2011-03-09 16:09:00 -08:00
Marc Blank
e233fe315b Merge "Only allow prefetch when on a WiFi network" into honeycomb-mr1 2011-03-09 16:08:32 -08:00
Makoto Onuki
27372998d6 am dd6e6b85: Fix bug 3509555 make notification always open right account
* commit 'dd6e6b850462fd8617a73dd40b5e7d32f0aaf5ed':
  Fix bug 3509555 make notification always open right account
2011-03-09 16:06:48 -08:00
Makoto Onuki
553037ba4e Merge "Fix NPE in NotificationController" into honeycomb-mr1 2011-03-09 16:03:17 -08:00
Makoto Onuki
43c455eb26 Fix NPE in NotificationController
This would happen when a message has no from addresses.

Bug 4027170

Change-Id: I1da091a6a55b274805ee6b3e109cbeb55a21fae1
2011-03-09 15:12:30 -08:00
Marc Blank
308ecfcc7e Fix download of non-smart-forwarded attachments
Bug: 3506114
Change-Id: Id3166402b0922eb1774ff484de249391fcc5e17c
2011-03-09 14:34:24 -08:00
Makoto Onuki
dd6e6b8504 Fix bug 3509555 make notification always open right account
The problem was that:
- Each account now has own new message notification
- But PendingIntens for these all point to the same activity,
  only with different long extras (for acount IDs).
- Framework merges these intents, because extras don't count
  as a "difference"  in this case.
- So when multiple new message notifications are shown, they'll
  all share the same intent internally, so they'll all open the
  same account.

A quick workaround seems to be to set a unique URI to each intents.

Bug 3509555

Change-Id: Ib02842bb32634cfdf01ae2d684dd04dfede23832
2011-03-09 10:24:36 -08:00
Marc Blank
88b502c70a Make sure services are started when Email application starts
Bug: 4020337
Change-Id: I6c645800c75a4f1b80c5c3d081c4292b6db81f57
2011-03-08 16:44:08 -08:00
Todd Kennedy
0c149eef41 am ccc0e10b: Merge "Only delete attachments from drafts" into honeycomb-mr1
* commit 'ccc0e10bc7b62e38aa0c329e69941bcda9b338e4':
  Only delete attachments from drafts
2011-03-08 11:04:29 -08:00
Todd Kennedy
ccc0e10bc7 Merge "Only delete attachments from drafts" into honeycomb-mr1 2011-03-08 10:59:23 -08:00
Makoto Onuki
665b180147 Merge "DO NOT MERGE: Make ACTION_SEND_MULTIPLE work with file: URI" into honeycomb-mr1 2011-03-08 10:32:34 -08:00
Todd Kennedy
a94804c49e Only delete attachments from drafts
We should only be deleting attachments from draft messages and not all
messages.

bug 3489176

Change-Id: Ia1bd2894f3aabc1bfbfb36e2f5c486b47d6edf4f
2011-03-08 10:32:32 -08:00
Todd Kennedy
9106c9d245 am f42d5c62: Implement UI tweaks
* commit 'f42d5c6234bfb26f63a711fd59076964283fb7f0':
  Implement UI tweaks
2011-03-08 07:58:46 -08:00
Marc Blank
973702b30e Only allow prefetch when on a WiFi network
Bug: 3515125

Change-Id: I0814ea20b1fc73807667e7f9531c1ea065bfa803
2011-03-07 22:01:34 -08:00
Todd Kennedy
f42d5c6234 Implement UI tweaks
* Correct allignment of mailbox label
* Sender info & presence alignment fixed
* Header height corrected
* Sender header updated; new asset for background & remove the "fold" asset
* New asset icon and allignment for "show pictures"
* Selected rows have updated background; new assets
* New asset for checked items
* Update divider to be 2px high
* Update selected background for wide message list

bug 3510984

Change-Id: I028ed5619ea7127b0392d9f5b7b00c575b00f3c6
2011-03-07 18:18:30 -08:00
Vasu Nori
58d570ca8a am 9ab40a58: Merge "bug:3513950 a trivial change due to renaming of api in downloadmanager" into honeycomb-mr1
* commit '9ab40a58b64b8f2cc78241b0ca0b9064d172729e':
  bug:3513950 a trivial change due to renaming of api in downloadmanager
2011-03-07 12:55:46 -08:00
Vasu Nori
d43438ee5b bug:3513950 a trivial change due to renaming of api in downloadmanager
Change-Id: I5f8cd86fc97afa32e4a07ee2b6ab77d3270856be
2011-03-07 11:33:50 -08:00
Makoto Onuki
7a15938763 DO NOT MERGE: Make ACTION_SEND_MULTIPLE work with file: URI
To determine mime-types of attachments from the ACTION_SEND and _MULTIPLE intents,
- Use ContentResolver.getType() for content: URIs
- Use inferMimeType() for file: URIs

Tested with Gallary and Downloads.

Bug 3510624

Backport of Ibfa4b383463f157e18fd634e55f5be4b9adf6aa5

Change-Id: Id2815738673f3822a97e92414b84f6a5d46eb96f
2011-03-07 10:46:09 -08:00
Makoto Onuki
92cbc9369b Make ACTION_SEND_MULTIPLE work with file: URI
To determine mime-types of attachments from the ACTION_SEND and _MULTIPLE intents,
- Use ContentResolver.getType() for content: URIs
- Use inferMimeType() for file: URIs

Tested with Gallary and Downloads.

Bug 3510624

Change-Id: Ibfa4b383463f157e18fd634e55f5be4b9adf6aa5
2011-03-07 10:32:16 -08:00
Makoto Onuki
ab8caebec6 Merge "DO NOT MERGE: Fix ANR: Run getPreviewIcon on bg thread" into honeycomb-mr1 2011-03-03 15:31:13 -08:00
Todd Kennedy
d8bce7e731 DO NOT MERGE Add original HTML message to forward/reply
When replying or fowarding an HTML message, we now send both plain text and
HTML bodies as a multi-part mime message. We take special care to ensure the
message bodies are in their own multi-part block and do not interfere with
any additional attachments to the message.

bug 3060920

Backport-Of: I2fc3cb4e1f65bcc28486a62731b44b0ee0a99719

Change-Id: I89ec2795b55ceb7472a8ee3db2dc8f50cf537d9c
2011-03-03 15:27:09 -08:00
Todd Kennedy
7d513c791a Merge "Attach original HTML message on forward/reply" 2011-03-03 15:25:50 -08:00
Makoto Onuki
ef2bc0b3e9 DO NOT MERGE: Fix ANR: Run getPreviewIcon on bg thread
The new class EmailAsyncTask might look overkill, but
this is what I've been wanting for long time.
In many activities we store all AsyncTasks we start to member fields
so that we can cancel them in onDestroy().  (e.g.
MessageViewFragmentBase.mLoadMessageTask and mReloadMessageTask)
With EmailAsyncTask these fields will no longer be necessary.
We'll be able to just fire up as many AsyncTasks as we want, and clean them
up in onDestroy() with just cancellAllInterrupt().

Bug 3480136

Backport of Id8aa1ba1500eee58cfab8b562b95e9ed852b3e29

Change-Id: I2d2966ff878862a5246c031d1d4e221da5a7e81a
2011-03-03 14:55:54 -08:00
Makoto Onuki
ba125ab5ac Fix ANR: Run getPreviewIcon on bg thread
The new class EmailAsyncTask might look overkill, but
this is what I've been wanting for long time.
In many activities we store all AsyncTasks we start to member fields
so that we can cancel them in onDestroy().  (e.g.
MessageViewFragmentBase.mLoadMessageTask and mReloadMessageTask)
With EmailAsyncTask these fields will no longer be necessary.
We'll be able to just fire up as many AsyncTasks as we want, and clean them
up in onDestroy() with just cancellAllInterrupt().

Bug 3480136

Change-Id: Id8aa1ba1500eee58cfab8b562b95e9ed852b3e29
2011-03-03 14:43:07 -08:00
Todd Kennedy
9cc51b72c6 Attach original HTML message on forward/reply
When replying or fowarding an HTML message, we now send both plain text and
HTML bodies as a multi-part mime message. We take special care to ensure the
message bodies are in their own multi-part block and do not interfere with
any additional attachments to the message.

bug 3060920

Change-Id: I2fc3cb4e1f65bcc28486a62731b44b0ee0a99719
2011-03-03 14:37:03 -08:00
Andy Stadler
45e161bb5e Merge "Enable SD card encryption policy when emulated" 2011-03-02 20:45:53 -08:00
Makoto Onuki
ace01c0fb1 Merge "Compose: Fix bug where attachments can't be removed" 2011-03-02 17:53:56 -08:00
Andy Stadler
7fd14be804 Enable SD card encryption policy when emulated
* This is is a minimal implementation that only supports the external
  encryption policy when there is no physical/removable storage, and
  the emulated external storage is located within an encrypted backing
  store.

Bug: 3351426
Change-Id: Id96e9277f810beeebf816a914acd3d733eb713ea
2011-03-02 16:41:19 -08:00
Andy Stadler
45d50a1ccf Don't send ID command to *.secureserver.net
Fixes connection failures with GoDaddy IMAP.

Bug: 3497713
Change-Id: I327d9b24598d7dead2d1b74f4e37d1e5885822a6
2011-03-02 16:13:23 -08:00
Makoto Onuki
a54d8bb4ee Compose: Fix bug where attachments can't be removed
If the account supports smart-forward.  The old code assumed
attachments are not removable if the account supports smart-forward,
which is not true.  Locally-added attachments should still be removable.

Bug 3505684

Change-Id: Ie6703551800c617dd224957a098311f0c279b3f1
2011-03-02 15:45:36 -08:00
Makoto Onuki
ee82e34a28 Fix ANR/crash when you open & close a large EML
The problem was:
- MessageFileViewFragment.clearContent (A) is called in onDestroy
- MessageFileViewFragment.openMessageSync (B) is called in a bg thread
  to load an eml file
- And both try to hold the same lock. (mLock)
- If EML is large enough, B takes _seconds_.  If you press back during this,
  onDestroy gets blocked trying to lock mLock.
- This could also cause a crash, because the task that runs openMessageSync
  won't get cancelled in this case, because that's done in clearContent.
  Because of this, the task's onPostExecute tries to touch a UI element
  when the fragment is actually being destroyed.

The lock was introduced to protect mFileEmailUri, only to keep the same
semantics for openMessage() as MessageViewFragment. i.e. openMessage can be
called multiple times for the same instance of the fragment.

However, in practice, this won't happen.  Unlike the regular message view,
we never reuse MessageFileViewFragment.  MessageFileViewFragment instances
are created per message.  This lock was just reminiscence from the early
developmen stage.

So, fix is simple -- just remove the lock.

Bug 3500487

Change-Id: If2b22a683666de535454bb1293563796fa7acfd7
2011-03-02 13:38:34 -08:00
Makoto Onuki
19b2a7ebc9 New debug setting to enable strict mode logging.
For now it only enables it for the main process.  I've added a flag
to EmailServiceProxy for EAS, but it's not used in the exchange side.

Bug 3500292

Change-Id: I5b27c69fe7cc995a430e9def54b2463076032c78
2011-03-02 10:41:48 -08:00
Marc Blank
833bf485a8 Merge "Fix typo and comment" 2011-03-02 09:37:27 -08:00
Marc Blank
25ab2df296 Fix typo and comment
Change-Id: Iffc69baf98c05a09693ba9a053c91d921fc1b423
2011-03-02 09:37:00 -08:00
Andy Stadler
2d6a98aedf Prevent NPE when account sender name is null
Bug: 3500373
Change-Id: Id07270f34d9cc0523c46104b3167711b71798623
2011-03-01 22:19:53 -08:00
Ying Wang
37f3385803 Split out emailcommon/Android.mk
Change-Id: I846ee2a4b541f4709e647aa537c61549db2bec2e
2011-03-01 15:56:27 -08:00
Andy Stadler
5297b452a2 Repair build break caused by gerrit non-rebase bug
* Undo the combination of I90653e86 & Ia07f2ae0
* By re-inserting the changes from I79d48bef

Change-Id: I70ac46c91f1ab5c90b74b0d43f293fb9741206cd
2011-03-01 15:29:45 -08:00
Ying Wang
a07f2ae0b1 Revert "Split out emailcommon/Android.mk"
This reverts commit c28bf35319.
2011-03-01 14:52:05 -08:00
Ying Wang
39919cb5e0 Merge "Split out emailcommon/Android.mk" 2011-03-01 14:28:14 -08:00
Todd Kennedy
9ad3799fe4 Merge "Change "appendQuotedText" to "useSmartReply" in Rfc822Output" 2011-03-01 13:58:36 -08:00
Marc Blank
81273dfcee Fix deadlock issue in AttachmentDownloadService
* When a connectivity wait was added to processQueue, I neglected
  to consider that a lock was held during this time
* The fix is to move the check for connectivity out of processQueue

Bug: 3500702

Change-Id: I646cf899ff895d9838612e89b15b66f1084840b1
2011-03-01 13:43:44 -08:00
Todd Kennedy
0d49ef78eb Change "appendQuotedText" to "useSmartReply" in Rfc822Output
Slight API change to make it more clear what the method parameter is for.
Also add some additonal test conditions to the Rfc822Output tests.

Change-Id: I8888d6201e79136fa3420aa9d5f921772f374e56
2011-03-01 13:30:21 -08:00
Ying Wang
c28bf35319 Split out emailcommon/Android.mk
Change-Id: I90653e8601ee3ee6a8719d87ffb93222a11a22c0
2011-03-01 12:29:05 -08:00
Makoto Onuki
23d6be4d21 Merge "Update screen properly when # of accounts becomes 1 from 2" 2011-03-01 11:20:31 -08:00
Andy Stadler
30793aa791 Merge "Add parent key to Mailbox schema" 2011-03-01 10:46:56 -08:00
Andy Stadler
3a58509b2a Add parent key to Mailbox schema
Bug: 2028418
Change-Id: I79d48befe7754692a3cab6c8851105bb399431f5
2011-03-01 10:45:50 -08:00
Todd Kennedy
da8326dfe7 Disable zoom icons if device supports multitouch
On multitouch devices, the zoom icons are not needed (the user can pinch to
zoom in/out). So, we should disable the display of these icons on multitouch
devices.

bug 3405875

Change-Id: I45484cfc622f11c25d3ea7f4c378c3133d7f7de0
2011-03-01 07:52:27 -08:00
Todd Kennedy
fe68c0e7c2 Use HostAuth to determine settings changes
There were two TODO's from a prior CL where deprecated HostAuth methods
were removed.

1. Do not use a generated URI to determine if account settings have changed.
   Instead, use the HostAuth structure for this purpose.
2. The account key in the HostAuth structure has been deprecated. Remove as
   much of it as possible (until the schema of the host auth database changes,
   we must still refer to it when adding rows).

In the process, HostAuth tests were broken out into a separate unit test
file.

Change-Id: I4075da09af168f734db7b20a9ef63d4178ac2064
2011-03-01 07:49:54 -08:00
Marc Blank
e4481d4110 AccountServiceProxy.restoreAccountsIfNeeded should be synchronous
* In the case where there are no Exchange accounts, we can stop ExchangeService
  while restoreAccountsIfNeeded is still running, which can cause us to leak
  the connection
* Change the call to be synchronous.

Bug: 3495601
Change-Id: I4a396e8b1650bd15fabd2802d2ec8d4276c6e43a
2011-02-28 18:00:08 -08:00
Makoto Onuki
fc156033d9 Update screen properly when # of accounts becomes 1 from 2
This happens when
- two accounts are configured
- select account 1
- remove account 1, and account 2 becomes active

In this case we failed to select account 2, and the fragments would keep
thinking account 1 was active.  (So no mailboxes would be shown--beacuse there
was of course no mailboxes for account 1!)

When the account list changes, the account loader (created in loadAccounts())
automatically reloads the account list, and calls updateAccountList().  If
there're still more than 1 account at this point, updateAccountList() updates
the account spinner on the action bar.  This will result in
ActionBarNavigationCallback getting called, which then updates the current
account as expected.

However, if there's only one account left, we hide the spinner and just
set the account name to the action bar title, so
ActionBarNavigationCallback won't get called and the current account
never changes.

In this case we shouldn't rely on ActionBarNavigationCallback but have to
explicitly update the current account.

Bug 3491567

Change-Id: Ia9ba3e1c11248ad5a1ba7e055717c5519d6e4884
2011-02-28 17:44:11 -08:00
Makoto Onuki
4d4bb9a849 Fix auto-refresh of mailboxes.
Removed the ugly doAutoRefresh() and byExplicitUserAction.

The intention for these was to supress auto-refresh when the message list
opens without any explicit user action, e.g. due to screen rotation.

However, now that we have the RefreshManager.isMailboxStale check with 5
minutes duration, this check is not really necessary.  Let's just always
refresh mailbox if it's stale.

Bug 3493134

Change-Id: I6d0365ed7f8092304117d5f619d570b828edf76f
2011-02-28 15:08:08 -08:00
Marc Blank
51a7151cfc Merge "Send logging information to Exchange when deviceId is retrieved" 2011-02-27 22:34:10 -08:00
Marc Blank
fdec974c93 Send logging information to Exchange when deviceId is retrieved
* Clean up logging to indicate the actual Service being used

Change-Id: I55f87487389accb1aad9b0cc03eff945ea0b1f3e
2011-02-27 12:08:36 -08:00
Jesse Wilson
5d29dac806 React to LruCache.entryEvicted renamed to LruCache.entryRemoved
Change-Id: Iab20ce0386ee4dabc8490dbde5cd2208626c293c
http://b/3461302
2011-02-25 17:25:28 -08:00
Makoto Onuki
f583bf66b2 Merge "Message view: Restore tab after screen rotation." 2011-02-25 14:37:25 -08:00
Marc Blank
dc78a769fc Email split, part dix
* The coup de grâce for Exchange in Email
* Remove Exchange bits from AndroidManifest
* Update Android.mk to create static jar for emailcommon
* Delete all com.android.exchange files
* Delete all exchange-only strings
* Change loadAttachment service method to take only attachment id and
  background flag
* Add code to AttachmentProvider.openFile() that opens an output file
  for attachment writes
* Make sure deviceId is determined in Email app (not Exchange)

Bug: 3442973
Change-Id: I775600252fd121f474d51cb26fefbfcc50e387af
2011-02-25 10:46:16 -08:00
Makoto Onuki
a553559f37 Message view: Restore tab after screen rotation.
Restore current tab and "show pictures" state.

Bug 3384629

Change-Id: Ia7dca5f53b313f3f54781f6a061767d982773a9b
2011-02-24 14:39:52 -08:00
Todd Kennedy
5920989bde Fix NPE when restoring setup activity
If the setup activity ever needs to restore itself after being killed, we were
restoring the Activity object's state (i.e. rebuilding the UI) before we
restored the state of our class. Since the Activity necessarily depends upon
our object's state, Bad Things can [and will] happen.

The solution is simple -- save our object's state last, but, restore our state
first.

bug 3476039

Change-Id: I623f1938c2e0f50d660708a7a7ac3eeb4a8f9090
2011-02-24 12:44:07 -08:00
Makoto Onuki
3d2f22c7a6 Merge "Widget: Use unread count for inbox views." 2011-02-24 11:22:00 -08:00
Makoto Onuki
fc4006b276 Widget: Use unread count for inbox views.
Bug 3431240

Change-Id: I61a91462cdd864604f5ddc06ff93c0ecf3001e20
2011-02-23 17:25:07 -08:00
Makoto Onuki
6842c5768f Merge "Remove com.android.email.widget.ViewType" 2011-02-23 17:10:40 -08:00
Todd Kennedy
2428ea767e Merge "Properly clear "next" button de-bounce flags" 2011-02-23 17:07:15 -08:00
Todd Kennedy
64c7a437ac Properly clear "next" button de-bounce flags
In some cases, the de-bounce flags were not being properly cleared. Namely, on
the outgoing settings screen. We now consistently clear the flags to ensure the
"next" button is always actionalble when it should be.

bug 3425395

Change-Id: Ib8085fb96522158198d9f33a12effef8f65c0d19
2011-02-23 16:41:36 -08:00
Makoto Onuki
64c914a6a1 Remove com.android.email.widget.ViewType
WidgetView has took over this, but I forgot to remove it.

Change-Id: I6a5012263f81223904907eb78ff22472ff5d8f85
2011-02-23 16:27:17 -08:00
Makoto Onuki
a08fa43b85 Merge "Fix the attachement view layout." 2011-02-23 15:30:20 -08:00
Makoto Onuki
88c8044586 Fix the attachement view layout.
The progress bar is not meant to be GONE.  Encapsulated the progress view
in MessageViewAttachmentInfo to make sure that won't happen.

Bug 3417034

Change-Id: I1efee089cc7921f4428a38fcbcdc2e8aa3cec9fd
2011-02-23 15:16:29 -08:00
Makoto Onuki
47bdd174dc Merge "SizeBoundingFrameLayout: framelayout with max width/height" 2011-02-23 15:12:41 -08:00
Makoto Onuki
fc8a65aecf Merge "Refactoring widget part 2" 2011-02-23 15:12:22 -08:00
Makoto Onuki
9299d6082c Merge "Pixel pefect: account spinner." 2011-02-23 15:12:08 -08:00
Todd Kennedy
ffe6ef342a fix UnsupportedOperationException in tests
We're using the mock context to prevent modifying the real databases. However,
we need the real context to create intents. Use the real context in the few
places we must use it.

Change-Id: Icb8d289239218921c0b4b5c93ac7983830d90394
2011-02-23 14:51:45 -08:00
Makoto Onuki
897a0ea81c Refactoring widget part 2
- Extracted the loader
- Extracted ViewType and introduced WidgetView.
  WidgetView is ViewType + mutable fields, such as account id.
  WidgetView now owns the method to switch views.

These two are basically in preparation to address the message count bug.
(we're showing total message count where it should be the unread count,
which is a bit tricky because it'll require two different queries.)

- Also simplified the threading model in EmailWidget to fix potential
  theading issues. (now (almost) everything works on the UI thread)

Bug 3431240

Change-Id: I9f8a268210995f1135baabe88b49b274272708d4
2011-02-23 14:20:00 -08:00
Makoto Onuki
b3c3f1afc6 Pixel pefect: account spinner.
The expanded account spinner is completed, but the collapsed view
needs some more work.  (That'll probably be a rather large CL, so I'll
finish it in a separate CL.)

Bug 3434135

Change-Id: Ia732e6b57b8c0d3e1609c3134b26411539ab6a18
2011-02-23 13:59:11 -08:00
Makoto Onuki
de9e706ed9 SizeBoundingFrameLayout: framelayout with max width/height
This will be used to set the max width to the account name spinner.

I gave up on writing tests for onMeasure.  It wasn't easy without adding
a dummy activity and layout.

It'll be used for a fix to bug 3439694.

Change-Id: Ie7569b0661eb732e270e4521fa0d3306f1bdd12c
2011-02-23 13:32:36 -08:00
Todd Kennedy
8c89674b64 Always set a delete policy for legacy accounts
The delete policy can only be set for POP3 accounts. However, the delete policy
is used for all legacy accounts (that includes IMAP). As such, we need to make
sure IMAP accounts also have their policy set; even though the setting is not
configurable by the user.

The delete policy does not mean anything for Exchange accounts, so, we do not
need to modify the account setup code for them.

bug 3074164

Change-Id: Iab10d2997404b3b0c10a60a64fb652540c0d2d1a
2011-02-23 11:00:19 -08:00
Makoto Onuki
dd123f927a Reset fragment state when opening a new account/mailbox
Without this, there's a small window where a fragment is in a valid
state after openXxx() before the list is loaded.

Bug 3420361

Change-Id: I7f84a94dec1419762aa6b24188c023abe974d2bf
2011-02-22 15:24:53 -08:00
Todd Kennedy
3f60e9312b Add "info" button to the attachment view
Whenever we remove the "load" and "view" buttons, we should add an "info"
button; where we will inform the user as to why we are preventing her from
seeing the attachment.

bug 3338997

Change-Id: Ic243f1542dec55f5b256eeb67ade50aa90e42009
2011-02-22 08:20:54 -08:00
Todd Kennedy
9b1906337a Only show chip if we have >1 account
bug 3435487

Change-Id: I42668fc9d6f118a83943fbe00edf5eb28b7749d6
2011-02-22 08:06:08 -08:00
Andy Stadler
d096f70ab3 Merge "Add contextual dialogs after notifications" 2011-02-19 21:39:58 -08:00
Andy Stadler
f489413142 Add contextual dialogs after notifications
* When security settings notification is clicked, inform user that
  they need to change settings (before dumping them in security
  settings.)
* On an authentication failure, present a dialog to the user explaining
  that the username or password may be incorrect.
* When the device pin/password is expiring or expired, present a dialog
  to the user explaining that it needs to be updated.

Bug: 3238657
Change-Id: I8fca446fa3c1bf87a95938553dbdc362c3df220e
2011-02-18 18:23:18 -08:00
Todd Kennedy
34704851e9 Update account list if account description changes
Editing the account description occurs in a different fragment. As such, we
need to notify the fragment in charge of the account list whenever the
description is updated.

We already have a callback mechanism, so, expand that to send notifications
of any property change.

bug 3388586

Change-Id: I02475233f7f333db57c49ceaf908dbfa69c86ca6
2011-02-18 16:45:17 -08:00
Todd Kennedy
3a4a1ac834 Send attachments through the download manager
bug 3339015

Change-Id: Ic16033a73d0e32608a14a2737f6ff28556dbe782
2011-02-18 16:07:41 -08:00
Todd Kennedy
a819783491 Fix NPE when creating an account from template
if you create an account using one of the pre-defined templates (such as
Yahoo!), the user name and password were not being set in the HostAuth
structure. This was causing an NPE when we tried to generate an IMAP ID.

Change-Id: I9619cddc0ab758c187cf4b9c7c84485ac1f4bfdd
2011-02-17 14:43:50 -08:00
Todd Kennedy
040ddf60cf Resolve build warnings; part 5
Remove dependence upon URIs for creating the host auth structure

Change-Id: I92dee36fa329a8976b76bbd4991ed3469c6475f2
2011-02-16 17:38:31 -08:00
Andy Stadler
c6d344ad2a Refresh email notifications (part I)
* Use strings that fit properly in new notifications
* General cleanups & rewrites from Roy
* Remove showWarningNotification() and use postAccountNotification()

This is part I.  Part II will add dialogs triggered by some of these
notifications, to provide more explanation to the user of what's wrong
and how to fix it.

Bug: 3238657
Change-Id: Ib51bcb4412f8a09a6f97653f0b5f8642efe2ac1e
2011-02-16 16:38:18 -08:00
Jesse Wilson
d75968acfb Merge "Adopt LruCache in Email's ContentCache." 2011-02-16 09:38:39 -08:00
Marc Blank
3a5c1fb274 Email split, part neuf: Setup, logging, attachment glue
* Make "Exchange" option in account setup depend upon availability of the
  Exchange EmailService
* Make presence of Exchange logging depend upon availability of the
  Exchange EmailService
* Make AttachmentDownloadService use service rather than ExchangeService
  class
* Move SSLUtils to emailcommon/utility
* Move account manager type defs to emailcommon/AccountManagerTypes
* Update proguard.flags
* This is the penultimate CL for the Email package itself; the next CL
  creates a clean, SDK-compatible Email application

Bug: 3442973
Change-Id: I9162cf5fa6b5a043ded0fdd1e25fd3ce5948ad8f
2011-02-14 16:08:55 -08:00
Marc Blank
31d9acbf06 Email split, part huit: Refactor constants, clean emailcommon
* There are three pieces to this CL (sorry):
  1) Move and/or rename some constants into emailcommon
  2) Move Utility to emailcommon, moving the few UI
     related utilities back into Email (FolderProperties
     and UiUtilities)
  3) Remove all references to resources from emailcommon
* The three pieces relate in that, between them, they allow
  the emailcommon static library to compile cleanly

Bug: 3442973

Change-Id: Ic5e3abaa2a1b36999e0b6653c6c2134ea1bd544f
2011-02-14 12:18:10 -08:00
Marc Blank
37500777f1 Email split, part sept: Configuration
* Add getConfigurationData api to AccountService; this allows clients
  to get configuration-related data from the Email app
* We use this so that Exchange can determine whether alternative strings
  should be used

Bug: 3442963
Change-Id: Ieea56e3416458dc57699b00c2fc062dfcf7abca9
2011-02-14 11:24:28 -08:00
Todd Kennedy
32311cce01 Implement IMAP prefix support
We support two different ways for an IMAP prefix to be specified:
  1. A text field on the IMAP configuration page. This is the most obvious to
     the end user. It is also an explicit, manual configuration.
  2. RFC2342 defines a NAMESPACE IMAP command to be able to query the prefix
     from the IMAP server. This is an automatic configuration without any
     user involvement (i.e. the UI will NOT change if a prefix is loaded in
     this way)

If the user goes to the trouble of specifying a prefix, we will always honour
it instead of the namespace returned by the IMAP server -- even if the user's
configuration is wrong.

bug 1592696

Change-Id: I6b94c7aaac538f6cd9dc4694b0f1634e8c956bc1
2011-02-11 14:17:48 -08:00
Jesse Wilson
92ab6db38d Adopt LruCache in Email's ContentCache.
LruCache simply wraps LinkedHashMap for a better API.
Performance/hit rate should not be impacted.

Tracking bug: http://b/3184897

Change-Id: Icbac38d3cea5f8c522df7a883d8e74a8f3786b92
2011-02-11 14:02:28 -08:00
Marc Blank
a7bc0319a7 Email split, part six: EmailContent
* Moved EmailContent to emailcommon

Change-Id: Ib3db1bfcfe74554c0e5afd3cfce6d72f26e9aeb9
2011-02-10 19:44:29 -08:00
Marc Blank
2193962ca2 Email split, part quatre: Move along, nothing to see here
* No code was harmed, er, changed in the making of this CL
* All that's happened is that code that is needed by both Email and
  Exchange have been moved into emailcommon
* This required import changes to many files, which explains the
  length of the CL

Change-Id: I4e12455ba057a4a8054fdbd0b578c73afa411c8a
2011-02-10 16:28:37 -08:00
Marc Blank
8a57469460 Email split, part trois: AccountService
* Create AccountService.aidl and AccountServiceProxy in emailcommon
* Implement AccountService in email
* Use AccountServiceProxy in Exchange for account reconciliation,
  notifications, etc.
* Move sync window constants into emailcommon
* Split attachment provider utilities and constants into emailcommon

Bug: 3442973
Change-Id: I89dce28b799b193243c07774dab65d830ae62775
2011-02-10 14:32:01 -08:00
Marc Blank
9ba506c4dd Email split, part deux: PolicyService
* Split PolicySet from SecurityPolicy and move to emailcommon
* Define PolicyService that sync adapter services can use to
  interact with the Email DPM administrator
* Implement PolicyServiceProxy for exchange
* Implement PolicyService in email
* Modify imports, references, etc. as required

Bug: 3442973

Change-Id: I92015e21f780a68754b318da89fbb33570f334a2
2011-02-10 13:53:37 -08:00
Marc Blank
0d4fc55861 Email split, part one: EmailService
* Create emailcommon package
* Move EmailService classes to emailcommon package
* Change references to aidl's to emailcommon package
* Add getApiLevel() command to EmailService

Bug: 3442973

Change-Id: Ic7d2115363cdff6ebb86c46650b0a5b2109b1c72
2011-02-10 13:10:38 -08:00
Todd Kennedy
8cc2fc5101 Merge "Fix attachment mime type unit tests" 2011-02-08 14:32:22 -08:00
Makoto Onuki
314a51cb1d Refactoring widget
- Moved to com.android.email.widget
- Extracted nested classes to top-level classes
- Some small clean-ups.
- WidgetProvider and WidgetProvider$WidgetService are left in the original
  package to keep compatibility with honeycomb (3.0) release.

This CL is supposed to be pure-refactoring.  There should be no
functionality changes.

Change-Id: I37acaa24b6b488724750c0f33374b31fcc433f11
2011-02-08 13:10:42 -08:00
Todd Kennedy
8586532f3e Fix attachment mime type unit tests
Attachments with no extension and mime type of text/plain need to return the
mime type of "text/plain" instead of "application/octet-stream"

bug 3428076

Change-Id: I00452c908ac0672879d42f4ed9ee574e376eac9f
2011-02-08 09:51:16 -08:00
Andy Stadler
d4cad2dae8 Merge "Remove all compatibility with pre-2.0 data" 2011-02-07 11:12:25 -08:00
Marc Blank
433d500cb9 Merge "Show smart forward attachments in MessageCompose" 2011-02-07 10:11:36 -08:00
Andy Stadler
7d51b7a05b Remove all compatibility with pre-2.0 data
* Remove LocalStore (pre-2.0 mail database) and its unit test
* Remove UpgradeAccounts (converted pre-2.0 accounts to Provider)
* Remove FolderMessageList (receiver for pre-1.6 desktop shortcuts)
* Remove "upgrading" paths through LegacyConversions
* Clip out dangling references to everything above

Bug: 3292310
Change-Id: I5654d55a0879b00b05b63055b94651855a8ee3ef
2011-02-06 00:54:39 -08:00
Todd Kennedy
5e39f90e9d Resolve build warnings; part 4
Fix unchecked warnings

Change-Id: I872740fca4e5050e6ed2922eabc7e46e5e97ff3c
2011-02-03 12:44:24 -08:00
Todd Kennedy
8d8537cd2e Resolve build warnings; part 3
Fixes deprecation warnings

NOTE: This does not resolve hostauth deprecation; that will be fixed
in a separate CL.

Change-Id: I47115516da34effbf885615cb439c9d3e6f95b84
2011-02-03 12:43:12 -08:00
Todd Kennedy
8546e21e1e Resolve build warnings; part 2
Change-Id: I76c1a5a4f759071f92eef0574abb20a99bfb32b7
2011-02-03 11:46:40 -08:00
Todd Kennedy
44de127691 Resolve build warnings; part 1
Change-Id: I80ca98ef80a427229ab5feb41568e34b257f32ce
2011-02-03 11:44:39 -08:00
Jesse Wilson
3aee641aab Use a field rather than a superclass for ContentCache's cache.
This makes it easier for cache experiments to swap out the
LinkedHashMap for another cache.

http://b/3184897
Change-Id: Iacdb266e41f5a98efd9bb30bc09ff8fff5a0a5a9
2011-02-02 12:11:17 -08:00
Makoto Onuki
9d8438e7e3 am 1cedfc8e: am 6c15d943: Merge "Don\'t mix up loader managers" into honeycomb
* commit '1cedfc8e5c16c6331f4689f2fb5c81117958c987':
  Don't mix up loader managers
2011-02-01 16:06:36 -08:00
Makoto Onuki
1cedfc8e5c am 6c15d943: Merge "Don\'t mix up loader managers" into honeycomb
* commit '6c15d943c2a5b4bfb4178d85acf0f415cb2fd6af':
  Don't mix up loader managers
2011-02-01 16:04:42 -08:00
Makoto Onuki
6c15d943c2 Merge "Don't mix up loader managers" into honeycomb 2011-02-01 16:03:26 -08:00
Makoto Onuki
d4df1cf65a Don't mix up loader managers
- Don't use activity's LoaderManager in fragments.  Fragments have their own
  loader managers, and using the wrong one causes loaders won't get reset()
  when the owner fragment gets destroyed().

- Don't destroy loaders by ourselves.

The combination of these two issues caused the problem where the loader
callbacks wouldn't get the reset event, which resulted in the adapter
holding a closed cursor.

Bug 3412079

Change-Id: Ib7441565ea69adb08eb74845b0996c7b8ae6f53b
2011-02-01 15:45:52 -08:00
Marc Blank
d26c138cb2 am 4c0ae95f: am 73ba7150: Merge "Delete calendar properly on commanded wipe" into honeycomb
* commit '4c0ae95fbea959f15aef958814311f1f063134d2':
  Delete calendar properly on commanded wipe
2011-02-01 13:26:18 -08:00
Marc Blank
4c0ae95fbe am 73ba7150: Merge "Delete calendar properly on commanded wipe" into honeycomb
* commit '73ba71506a542ac6fd6463f2cf1efea1569bbcc4':
  Delete calendar properly on commanded wipe
2011-02-01 06:52:28 -08:00
Marc Blank
73ba71506a Merge "Delete calendar properly on commanded wipe" into honeycomb 2011-02-01 06:50:08 -08:00
Marc Blank
81d68b842e Delete calendar properly on commanded wipe
* CalendarProvider2 has unusual semantics for its delete operation on
  Calendars; this caused the user's calendar NOT to be deleted when
  the server commanded a wipe of calendar data.  The result was
  duplication of events after the subsequent resync

Bug: 3361000
Change-Id: I672034a7a444eb7ebdea60cd6dc66a31087cc6f7
2011-01-31 21:07:18 -08:00
Todd Kennedy
f1b510462f Fix ConcurrentAccessException in unit tests
The ContentCache is now an LRU cache. This means we must NOT access the cache
while using any iterator over the cache. In this case, we were calling get()
using an iterator of cache keys.

Change-Id: I2d1feabff7474b6f2a230b98f97df067ab7ccd9c
2011-01-31 17:39:44 -08:00
Makoto Onuki
f33420e68f Message details: Show only one address per line
Also removed unused field from MessageViewMessageDetailsDialog

Bug 3372971

Change-Id: I8a6d87d006793c0099b380634217624bf9002ead
2011-01-31 16:12:53 -08:00
Andy Stadler
2d6241e123 am 11070a53: am 275b89d9: am 927dbc7c: Don\'t send IMAP ID unless server supports it
* commit '11070a53970116a8216b8d83694041fe09560b91':
  Don't send IMAP ID unless server supports it
2011-01-31 15:46:36 -08:00
Andy Stadler
11070a5397 am 275b89d9: am 927dbc7c: Don\'t send IMAP ID unless server supports it
* commit '275b89d96949de6544c7bca999e241f659cf18b3':
  Don't send IMAP ID unless server supports it
2011-01-31 15:20:01 -08:00
Andy Stadler
927dbc7c20 Don't send IMAP ID unless server supports it
Only send IMAP ID to servers that include ID in the CAPABILITY response.
Always sending IMAP ID was found to cause problems with some servers.

Better compliance with RFC 2971.
Thanks to Samsung for debugging & reporting this.

Change-Id: I495f80949f9f811470853a1f2f8e506d8236d8cf
2011-01-31 15:10:49 -08:00
Makoto Onuki
295297581c Supress log from RefreshManager
Bug 3404747

Change-Id: I3c0d4d513c7ebb640630a21b626c1515520c0bed
2011-01-31 15:05:27 -08:00
Todd Kennedy
db0a601714 DO NOT MERGE Ensure foreground colour is set during drag
At any time, it's possible for the framework to recycle views. Normally it's
not an issue, however, during drag-n-drop a view with "unavailable drop
target" foreground colour may be reused. We need to ensure that the foreground
color is always set.

bug 3398330

Change-Id: I7be9bf8487e0062cf2335476fd971592f33baa09
2011-01-31 10:53:33 -08:00
Paul Eastham
5c7ffc91a5 am c34e4eec: am 04d3f014: Merge "Remove STOPSHIP" into honeycomb
* commit 'c34e4eecf1450b20e804297741507d1edc044d0f':
  Remove STOPSHIP
2011-01-30 22:22:28 -08:00
Paul Eastham
04d3f01447 Merge "Remove STOPSHIP" into honeycomb 2011-01-30 22:16:55 -08:00
Justin Ho
c22d2a2828 am 92c41d58: am a5ba0daa: Merge "New Email launcher icon, deprecating old asset Bug: 3362749" into honeycomb
* commit '92c41d587a840672722ac693e79d8c52e6f4497c':
  New Email launcher icon, deprecating old asset Bug: 3362749
2011-01-30 17:33:21 -08:00
Andy Stadler
5f10938fd4 Remove STOPSHIP
Bug: 3396875
Change-Id: I0d57922def86dc48abb2a8a47c9358115dddb9fd
2011-01-30 17:17:42 -08:00
Justin Ho
a5ba0daac3 Merge "New Email launcher icon, deprecating old asset Bug: 3362749" into honeycomb 2011-01-30 17:12:13 -08:00
Andy Stadler
34512ba630 am 809cd769: am 0e3a0331: Widget: Max out message count at 999+
* commit '809cd769390aa503ad90e5b8bce1594f92a2479f':
  Widget: Max out message count at 999+
2011-01-30 12:53:16 -08:00
Andy Stadler
0e3a03317b Widget: Max out message count at 999+
Bug 3403158

Change-Id: I1daf0c62684bad83a69e19c39ffe1b8df899d077
2011-01-30 11:45:33 -08:00
Justin Ho
b5b8e568e2 New Email launcher icon, deprecating old asset
Bug: 3362749

Change-Id: Idb876f38588a9c5d2b4b3c04dbf4dbca082c1618
2011-01-29 14:20:01 -08:00
Marc Blank
a86265e8e5 am 9a09129d: am 1122e0f6: Merge "Remove cache statistics logging" into honeycomb
* commit '9a09129d0928712ad84a11027812ff0a63afed4a':
  Remove cache statistics logging
2011-01-28 16:22:14 -08:00
Marc Blank
1122e0f644 Merge "Remove cache statistics logging" into honeycomb 2011-01-28 16:16:26 -08:00
Marc Blank
f40294e1aa Remove cache statistics logging
* Use static final flag to control this
* Set flag to false for all commits

Bug: 3403725
Change-Id: I70c89aaf2f0b226206e505a14e9a8f1ed2ebb51a
2011-01-28 14:54:52 -08:00
Makoto Onuki
943e02c97d Merge "Add debug setting for one-minute refresh" 2011-01-28 14:30:55 -08:00
Makoto Onuki
5907d39d2b Add debug setting for one-minute refresh
Bug 3377054

Change-Id: I7843fe82d66ab7896b8293b2fa16ca73f6711595
2011-01-28 14:16:56 -08:00
Marc Blank
d07a2312b7 Merge "Make ContentCache LRU, rather than LRI" 2011-01-28 12:56:46 -08:00
Marc Blank
50c7d755a7 Make ContentCache LRU, rather than LRI
Bug: 3403111
Change-Id: I12993a8185db1bebe760f8bd1a8d22683bcdddc3
2011-01-28 12:37:09 -08:00
Andy Stadler
3592da67cd am 57fa4995: am c8f1c814: Merge "Prevent NPE in account deletion race condition" into honeycomb
* commit '57fa4995c27ef9b186b61866b6a1c65f162a93e0':
  Prevent NPE in account deletion race condition
2011-01-28 11:38:36 -08:00
Dmitri Plotnikov
188ad2d5ba am 188a07a0: am fc902559: Merge "Transferring display name logic to GAL provider" into honeycomb
* commit '188a07a0335a81087729b99a1234d0ccd9e3031a':
  Transferring display name logic to GAL provider
2011-01-28 11:38:34 -08:00
Andy Stadler
c8f1c814cd Merge "Prevent NPE in account deletion race condition" into honeycomb 2011-01-28 11:33:34 -08:00
Makoto Onuki
9c44430690 Fix AttachmentDownloadService for remove-exchange script
Now the source at least compiles fine.

Change-Id: I329ad08f81fd6ab23f28dd30023fe3e781ccc4fc
2011-01-28 11:22:51 -08:00
Andy Stadler
04c4ae864f Prevent NPE in account deletion race condition
Bug: 3399372
Change-Id: Ic41fb1292f8cc2e5ceb120e7233229dc4e47f1eb
2011-01-27 16:20:51 -08:00
Todd Kennedy
eb73f28d1a Ensure foreground colour is set during drag
At any time, it's possible for the framework to recycle views. Normally it's
not an issue, however, during drag-n-drop a view with "unavailable drop
target" foreground colour may be reused. We need to ensure that the foreground
color is always set.

bug 3398330

Change-Id: I21acd04584a122c19219f3abb6690bb231bad3a6
2011-01-27 11:52:33 -08:00
Dmitri Plotnikov
fc902559c4 Merge "Transferring display name logic to GAL provider" into honeycomb 2011-01-27 10:47:10 -08:00
Dmitri Plotnikov
1a8feddd22 Transferring display name logic to GAL provider
Bug: 3396886
Change-Id: Ice4da9fd4189387a31d3a5d44ec4dc49bff938da
2011-01-27 10:24:03 -08:00
Marc Blank
fe9db17831 Show smart forward attachments in MessageCompose
Bug: 3367188
Change-Id: I59dae9781be59eebe3a68769138e8253a24455e6
2011-01-27 10:13:25 -08:00
Andy Stadler
09aae75f4e Fix account list after deleting accounts
* After deleting an account, we need to actually update
  the list of known accounts - it's not sufficient to simply
  rebuild the headers with one account marked deleted.
* Also remove a couple of obsolete TODO's

Bug: 3382965
Change-Id: I1aa6d88f869f0192b564b538817381efdc5fffe0
2011-01-27 00:02:44 -08:00
Andy Stadler
999199d49a Merge "Remove STOPSHIPs and a bit of debug logging" into honeycomb 2011-01-26 22:58:22 -08:00
Andy Stadler
1fc9b6b5c3 Merge "Add "tap to configure" text to widget" into honeycomb 2011-01-26 22:57:09 -08:00
Andy Stadler
c540b57263 Remove STOPSHIPs and a bit of debug logging
Bug: 3396875
Change-Id: I3e874e28c3412aadd9851000a83d69fc8c06aeb9
2011-01-26 22:53:08 -08:00
Marc Blank
610bbaee42 Merge "Fix NPE in SecurityPolicy.policiesRequired" into honeycomb 2011-01-26 21:39:47 -08:00
Marc Blank
844b14f851 Fix NPE in SecurityPolicy.policiesRequired
* Add check for null Account, as this method can be called from a
  background thread, and the Account might have been deleted by the
  time we're called

Bug: 3396365
Change-Id: Ie125ed714c73d51beaedc818b6b731cea941666f
2011-01-26 18:18:45 -08:00
Todd Kennedy
6c5ee59c4f Add "tap to configure" text to widget
If there are no email accounts defined, the widget should show a single string
that allows the user to create a new account. Whenever there are changes to
the defined accounts, the widget(s) will update their headers to ensure they
are only displaying valid information.

bug 3296594

Change-Id: I156c20cfc90692174297a2aededd85775e0ea196
2011-01-26 17:58:51 -08:00
Todd Kennedy
a7f49a7c0b Update icons with latest drop from UI
Change-Id: Ic23f1bee28c8aef1974225f9c03edc92c845f8c7
2011-01-26 17:43:03 -08:00
Makoto Onuki
199a0601ae Merge "Fix bug where mailbox list won't update in combined view" into honeycomb 2011-01-26 17:31:51 -08:00
Andy Stadler
382478547e Merge "Protect against threading issues in AttachmentDownloadService" into honeycomb 2011-01-26 16:06:54 -08:00
Marc Blank
ed9938cd9c Protect against threading issues in AttachmentDownloadService
Bug: 3391148
Change-Id: I513b5678815db262ea5660661336432f1e203c9e
2011-01-26 16:04:28 -08:00
Makoto Onuki
3735cd4256 Merge "Make account name on action bar narrower" into honeycomb 2011-01-26 15:01:10 -08:00
Makoto Onuki
d0ee1e404d Fix bug where mailbox list won't update in combined view
The problem was that CombinedMailboxesLoader used the cursor returned by
super.loadInBackground() (which contains accounts), to build a matrix
cursor (which contains special mailboxes and accounts and will be returned),
and *it closed the first cursor* after building the matrix cursor.

However, because this first cursor is the one that CursorLoader sets an
observer, it shouldn't be closed until the returned matix cursor closes.
In other words the two cursors should have the same lifecycle.

Fixed it by using ClosingMatrixCursor that used by AccountsLoader, which
is doing a similar thing, but properly.

Bug 3387730

Change-Id: I554ade001dc25afa869eefb4dcf9887495e6753e
2011-01-26 13:40:53 -08:00
Makoto Onuki
3af94be477 Make account name on action bar narrower
... to give the mailbox name more space.  Otherwise it can be too
small in portrait.

Bug 3387730

Change-Id: I0301fd696dc2c4dfa3654a235b9e95aa7db4b885
2011-01-26 13:26:14 -08:00
Andy Stadler
f020910461 Fix Account Manager integration
* Rework the interaction with the Account Manager
* Remove unneeded call to response.onRequestContinued()
* Store response in SetupData so it can survive the entire account
  setup flow.
* Explicitly report exit status to acct mgr at known exit points:
  * AccountSetupBasics.finish() (fail/cancel)
  * AccountSetupOptions.finish() (fail/cancel)
  * AccountSetupOptions.optionsComplete() (success)

Bug: 3335128
Change-Id: Ia55724eb1e938f2633c5ff7afb719a879be16a1b
2011-01-26 11:16:56 -08:00
Andy Stadler
a97faa25ac Discard result of Dupe Account check if paused
Fixes a potential race condition with a slow DB lookup and a
fast user (or monkey).

Bug: 3384992
Change-Id: I0602820e1d9f49eb01b09c9d78db3d0fc47ccfb1
2011-01-25 23:18:45 -08:00
Makoto Onuki
da75871620 Merge "Make the refresh button animate in-place." into honeycomb 2011-01-25 21:41:58 -08:00
Marc Blank
51c8228093 Merge "Ensure that EAS reconciler uses current account list" into honeycomb 2011-01-25 19:45:58 -08:00
Makoto Onuki
484d220b6e Make the refresh button animate in-place.
Turn the refresh button into an indeterminate progress icon
while refreshing.

Bug 3388138

Change-Id: Ic0406ff5b857243c3e1e475ddb8b305441eddbb0
2011-01-25 19:09:32 -08:00
Makoto Onuki
2d0e44f201 Fix NPE in AttachmentDownloadService
Initialize mConnectivityManager before starting the thread.

Bug 3389701

Change-Id: If616721ad3b3bec81c5d6920f4a5d91b06f937fb
2011-01-25 15:30:15 -08:00
Marc Blank
da0225cfd9 Ensure that EAS reconciler uses current account list
Bug: 3369380
Change-Id: I00f18f0848232ea90149fb6e243f147d0e6f5c0f
2011-01-25 15:26:28 -08:00
Makoto Onuki
61e63111ba Show account name on error banner
For now just show the account name in parens.   I'll ask the design
team for a better layout.
(I don't want to change code too much at this point, so didn't add a
new view for the account name.)

Bug 3366546

Change-Id: I3a5314be4bdfacc2720093511eb03571e91fa963
2011-01-25 13:21:04 -08:00
Todd Kennedy
adbd22c9be Merge "Infer attachment's mime type if it's text/plain" into honeycomb 2011-01-25 10:36:36 -08:00
Todd Kennedy
b3740d227e Merge "Only show loaded messages in widget" into honeycomb 2011-01-25 10:06:51 -08:00
Todd Kennedy
34212cc7df Infer attachment's mime type if it's text/plain
If the server reports an attachment's mime type as either text/plain or
application/octet-stream, we will try to infer the real mime type using
the attachment's extension. If one cannot be found, we either synthesize
it (if original mime type is application-octet-stream), or, we use the
server specified mime type (if the original is text/plain).

bug 3379416

Change-Id: I331e767ed36e4e17756025cc816bdb7b5a8f0868
2011-01-25 09:55:15 -08:00
Todd Kennedy
543953ad87 Only show loaded messages in widget
The various selection strings were missing a test to only show messages that
have been loaded. This is only important for POP3 accounts.

bug 3377041

Change-Id: I3efe366d09dd547878dc0bf57dff58f76de5cca9
2011-01-25 09:42:04 -08:00
Andy Stadler
9128217da1 Merge forward small bug found in password storage
While fixing bug 2981433 in Gingerbread, I discovered one additional
place where passwords were being trimmed.  This brings the fix forward
into honeycomb, as well as a new unit test for the fix.

Bug: 2981433
Change-Id: I566f5c0c6693ca7c0069bca9e74f320fca48e600
2011-01-24 20:13:11 -08:00
Andy Stadler
24a81185d1 Merge "Catch base64 errors and handle in-place" into honeycomb 2011-01-24 19:33:18 -08:00
Marc Blank
3ef8f54bae Prefetch respects "background data" setting and waits for connectivity
Bug: 3384997
Bug: 3384994
Change-Id: Id8338650b69666f2996837324e27c2e98c9261fe
2011-01-24 18:39:50 -08:00
Andy Stadler
980c2256f1 Catch base64 errors and handle in-place
Bug: 3362752
Change-Id: I63adb8663c90a7710176cc1c481bbfa5b4b859c4
2011-01-24 18:06:53 -08:00
Todd Kennedy
751e4b2d95 Prevent auto-download of attachments not in an inbox
When creating the list of attachments to be automatically downloaded in the
background, exclude any attachments that are not in an inbox. Also added unit
tests to ensure the query URIs behave as expected.

NOTE: This is a partial fix for general background attachment downloading issues

bug 3373982

Change-Id: I13ef56cd280c028fa966ab9e655acce28b0b9b91
2011-01-24 13:43:14 -08:00
Andy Stadler
4fd1ebdcc3 Fix multiline mode in signature
* Add multiline flag to preference xml
* Also, remove display of actual signature in summary, as it
  does not properly handle long or multiline signatures.

Bug: 3379235
Change-Id: I84894dbdccee2cd8a8ece05d0b8f7fdcf7b92406
2011-01-24 12:01:43 -08:00
Andy Stadler
3dc2fcaac3 Merge "Rework account security bootstrap procedure" into honeycomb 2011-01-24 11:18:12 -08:00
Andy Stadler
45bfac00e5 Rework account security bootstrap procedure
* Bug to fix was that it was looping if the user canceled
  password or encryption setup (instead of simply re-notifying.)
* Solution was to refactor all code into a single sequence of checks,
  rerun the sequence each time, and set markers to prevent looping.
* Rework needed after the changes in I54f39bc9 which added
  encryption support but introduced the looping behavior.
* Removed a UI-thread DB access

Bug: 3346641
Change-Id: I0791d7a16287efecc7121b5ffa0db26ca2b05151
2011-01-24 11:08:31 -08:00
Todd Kennedy
819db01ead Limit attachment background download attempts
Do not retry downloading attachments infinitely. After some number of failures,
black list the attachment and move on. The black list is not persisted, so,
restarting the app will again try to fetch the attachments. In this way, any
transient network failures will not permanently affect the ability to download
attachments in the background

NOTE: This is a partial fix for general background attachment downloading issues

bug 3373982

Change-Id: I7f3ad9667ebebb95fbba95278b62bf40c5fce67c
2011-01-24 10:19:46 -08:00
Marc Blank
5150d0e818 Merge "Don't require sSyncLock for sync error map" into honeycomb 2011-01-23 15:04:30 -08:00
Marc Blank
d6fbab1e7a Merge "Prevent logging about "attachment with null contentUri"" into honeycomb 2011-01-23 15:03:10 -08:00
Dianne Hackborn
2b59ecaebc Remove use of old theme name.
Change-Id: I0a08171b3068abeb57c973074b37aaf3c87ff001
2011-01-23 13:06:41 -08:00