Commit Graph

2330 Commits

Author SHA1 Message Date
Makoto Onuki
e47c12dba8 Merge "Don't show account dropdown when there's only 1 account." 2010-11-23 17:31:43 -08:00
Makoto Onuki
08e1f2f782 Don't show account dropdown when there's only 1 account.
Bug 3225851

Change-Id: I7b411f8047e3b26cfe53f17c46c3e2611fb8ae9d
2010-11-23 17:23:36 -08:00
Marc Blank
2eaa910a65 Merge "Handle upsync of EAS contact "group" (category) rename/delete" 2010-11-23 15:10:20 -08:00
Marc Blank
fb3c389a14 Handle upsync of EAS contact "group" (category) rename/delete
Bug: 3211907
Change-Id: I7bec90dae7c223b4bd0d0f366d18cac37e53fbcc
2010-11-23 15:07:48 -08:00
Makoto Onuki
5b81690de1 Show color chips for combined view.
Show color chips for account rows and message items on the combined view.

Moved hard-coded color values to resource.

Bug 3138001

Change-Id: Ib93fb9d6e9592ebd0c297f83c3dee2358a80508f
2010-11-23 13:03:06 -08:00
Makoto Onuki
46e60b51e2 Merge "Fix & cleanup on EML viewer (MessageFileView)" 2010-11-23 12:18:28 -08:00
Andy Stadler
4091ffe94f Merge "Move application icon to mipmap-* directories" 2010-11-23 12:16:00 -08:00
Andy Stadler
5c4c0ab456 Move application icon to mipmap-* directories
Change-Id: Idc5df7046d0fa64ffbfce2869dffb4fe0fd144a0
2010-11-23 12:06:44 -08:00
Marc Blank
70188b71aa Merge "Fix deadlock in ContentCache" 2010-11-23 11:51:04 -08:00
Marc Blank
5835dceced Fix deadlock in ContentCache
* The situation is that putCursor() is called from a reading thread
  while invalidate() is called from a writing thread
* putCursor() must not hold the monitor lock on ContentCache while
  moving the underlying cursor to position 0

Bug: 3224203
Change-Id: I35b798dccf245c761dc79c39ced4fc8c0cfb9d78
2010-11-23 11:19:26 -08:00
Makoto Onuki
a6998d39fa Merge "Implement screen transition animation." 2010-11-23 10:18:25 -08:00
Makoto Onuki
d2dac0fd6c Implement screen transition animation.
Bug 3137919

Change-Id: I077768bffb1eb246fdaa7d2def30c7b132566d69
2010-11-23 10:17:54 -08:00
Andy Stadler
1f3e117951 Fix rotation problems in setup/settings
* Fix incomplete tracking of mLoaded flag
* Defer validation on automatic reload of fields (on rotation)
  until reconstruction completes and we're ready to do validation.
* (For Incoming only) Split loadSettings into configure and reload phases;
  We need to configure the UI every time we restart, but we don't want
  to reload & overwrite user-entered values on rotation.
* (For Exchange only) Properly show/hide trust certificates options on
  rotation, and show/hide divider too.

Bug: 3170922
Change-Id: If3de30ee2d4d5668b29698af73f545510692777e
2010-11-22 19:02:16 -08:00
Marc Blank
c0604d9648 Merge "Don't layout with 0 width if we've got a real width" 2010-11-22 18:05:34 -08:00
Marc Blank
d98b42e767 Merge "Remove unnecessary MessageObserver" 2010-11-22 17:45:45 -08:00
Marc Blank
4238524d6f Remove unnecessary MessageObserver
* We used this to ensure that messages placed in the Outbox would
  trigger a sync, but this is already handled by a call to
  startSync on the Outbox

Change-Id: I90e1b56dd437bbb9e3341bbe4b1ae8245aede891
2010-11-22 17:45:12 -08:00
Marc Blank
452b347729 Don't layout with 0 width if we've got a real width
Bug: 3221168
Change-Id: I85562cad4afe7ce494cdb4cd348cad23c6103936
2010-11-22 17:43:11 -08:00
Makoto Onuki
b715ea1d76 Fix & cleanup on EML viewer (MessageFileView)
- Fix the XL layout: Don't refer to "GONE" views in RelativeLayout.
- Don't always (re-)load message on onResume().
  This will make it lose all state (e.g. webview's zoom level) when coming
  back from other activities.
- Change the default visibility of some views so that it'll look okay
  while loading the message.
- Remove the use of obsolete fragment APIs.
- And some other minor cleanups...

Bug 3221066

Change-Id: I475bc229f4ea9e0e480f528389f5180e1d63fcd6
2010-11-22 17:02:48 -08:00
Makoto Onuki
c8e623b31e Merge "Fix NPE in MessageViewFragment" 2010-11-22 15:21:07 -08:00
Makoto Onuki
deda053f7c Fix NPE in MessageViewFragment
Call clearContent() in onDestroy(), instead of cancelAllTasks().
(This is what I thought I was doing.)

Calling clearContent() tells the BG thread that the activity has already
been destroyed, and prevents them from loading a message.

Also as a precaution, don't load a message if getActivity() returns null,
which means the activity has already been destroyed.

Bug 3134403

Change-Id: I0d591e0dd147f73e70b0c027dc8037482197f7b4
2010-11-22 14:29:29 -08:00
Marc Blank
51f5cd7c16 Merge "Use consumeContent() to ensure release of HttpClient resources" 2010-11-22 11:56:05 -08:00
Makoto Onuki
79c5d35c13 Merge "Correctly set intent to new message notification" 2010-11-22 11:46:01 -08:00
Marc Blank
7f35dd8da7 Use consumeContent() to ensure release of HttpClient resources
Bug: 3197531

Change-Id: I7376b438edb05411950249bbf34cffa3ad8cb5a7
2010-11-22 11:45:01 -08:00
Makoto Onuki
8d3ef1d01e Correctly set intent to new message notification
Bug 3219763

Change-Id: I7826e762713228ee4ca1ca1d57b4d7603df81a66
2010-11-22 11:36:17 -08:00
Marc Blank
7c90fa014d Merge "Implement password expiration for EAS" 2010-11-22 11:18:10 -08:00
Marc Blank
cf3fb71bc6 Implement password expiration for EAS
* Hoist wipe() method from AbstractSyncParser to AbstractSyncAdapter
* Add deleteAccountPIMData(accountId) to the EmailService API
* Implement deleteAccountPIMData for EAS

Change-Id: I1037cde25fc2b24419f399446cfa0906dc0174d1
2010-11-22 11:17:00 -08:00
Makoto Onuki
9cb0ad3cd6 Merge "Don't reset message view when becoming active again." 2010-11-22 10:42:18 -08:00
Joe Onorato
2e578032d0 Use new notification API to get the new features.
Change-Id: I47a6c46ebb7999663ec16f049c99c418f4333213
2010-11-21 16:26:33 -08:00
Makoto Onuki
4c9e1a3fde Don't reset message view when becoming active again.
- We used to (re-)load the content on every onStart(),
  which is called too when coming back from other actibities.
  So if you go home and come back with the task switcher,
  all state get reset, including webview zoom/pan and the current tab.

- Introduce a new flag, mLoadWhenResumed, to tell if we really need to
  load a message.

Also:
- Start loading a message in onResume() rather than onStart()
  to keep it consistent with other fragments.

Bug 3215269

Change-Id: I1cc6e12c3cc3c08065da3696603a3247f341469a
2010-11-19 15:12:54 -08:00
Makoto Onuki
00fb407689 Merge "Show current mailbox name and unread count on action bar." 2010-11-19 13:56:36 -08:00
Makoto Onuki
f108837c1d Show current mailbox name and unread count on action bar.
- Show them when the mailbox list is hidden
- Data flow:
  MailboxListFragment ->(Callback)-> MessageListXL ->
  MessageListXLFragmentManager, which controls the action bar.
  (I'm not too happy with this flow, but we can at least avoid
  issuing yet another query to get these data.)

Also related:
- On the combined view, show the unread count for account rows

Bug 3137891

Change-Id: I37fa1258d946329905bbbc0da905928bcf2f4cb1
2010-11-19 13:55:49 -08:00
Makoto Onuki
9f04fdc555 Make home icon on action bar clickable
- Make the home icon on action bar clickable, and show the back arrow with it.
- When clicked, it'll navigate you back to the main screen.

Bug 3138037

Change-Id: Ice783e6b594347bd73b94e71d29a61ad4f5ef972
2010-11-18 16:54:00 -08:00
Andy Stadler
6143d026c0 Re-enable activity progress indicator
Bug: 3137891
Change-Id: Iea65b69dd376fd0026cd53680b901805a07fa101
2010-11-17 23:19:36 -08:00
Makoto Onuki
4ca7580e5d New portrait look for 3-pane
- Removed opener/collapser
- Now the "fogged glass" is 100% transparent
- Move the landscape layout to layout-land

Bug 3137919

Change-Id: I4918f905aca698c78489e340dd330c7d4da8b106
2010-11-17 15:25:58 -08:00
Makoto Onuki
6ffdecfbbb Merge "Add XL layout for message view" 2010-11-17 15:21:06 -08:00
Makoto Onuki
8e8e371260 Add XL layout for message view
- Added the xl layout
- Cleaned up the existing one

Bug 3138021

Change-Id: Ic6ab5e38c10ac12ffeeb6b12319d1e192ac2a40c
2010-11-17 15:19:00 -08:00
Marc Blank
937ea4fc87 Initial rewrite of MessageListItem for XL
* Drawing all done by MessageListItem, based on view width
* Completely functional, layout tweaks required

TODO: Consider caching drawing values for performance

Bug: 3137994

Change-Id: Ie3de79357bfe976b2fcebdedb71dea011252b445
2010-11-17 12:23:03 -08:00
Marc Blank
349055aad4 Allow ProviderTests to work with ContentCache
Bug: 3204331
Change-Id: I5399345c2b759fb34d3dc7c694eb0eef8d7de493
2010-11-17 10:19:30 -08:00
Marc Blank
8afdca0bac Merge "Minor cleanups for ContentCache" 2010-11-17 09:16:47 -08:00
Andy Stadler
2199c7ddf5 Minor cleanups for ContentCache
* Change CounterMap to not extend HashMap
* Renamed remove() to subtract()
* Comment out a failing test
* Add a flag that prevents any objects from being cached

Change-Id: I74754133b505178e8b0166390f69509f006a3da2
2010-11-16 22:49:04 -08:00
Makoto Onuki
878a9da420 Merge "Three pane behavior changes" 2010-11-16 17:19:33 -08:00
Makoto Onuki
d2289c2f19 Three pane behavior changes
- Now pressing back on the message view on portrait expands the message
  list.  Pressing back again closes the message view and navigates
  to the mailbox list + message list view.
- Fixed the bug where the app icon on the action bar will lose the back arrow
  on screen rotation.
- Code clean up.

Bug 3137919
Bug 3198987

Change-Id: Ia452f90ebe5599a2a8de905f4dabec6bd3ceb4a2
2010-11-16 17:18:46 -08:00
Andy Stadler
e6c6587b04 Create XL layouts for incoming, outgoing, exchange
* Create XL fragments (will be shared w/settings)
* Create XL landscape activities
* Create XL portrait activities
* Placeholders left for integration with settings - remove in settings CL
* Quick fixes (non shipping) for phone UX
* Update existing portait next/prev buttons per new wireframes

Bug: 3188940
Change-Id: Ied6e7fd1e968fd6db57607a68dabf7e00ba78ee6
2010-11-16 16:40:34 -08:00
Makoto Onuki
15f46cc715 XL layout for message compose
The layout is not final, but it's closer to the wireframe.
- All dimensions and colors are not final.  I just made them up.
- The "+cc/bcc" and "add attachment" buttons are in the wrong position.

I'll wait for the pixel perfect before addressing them.

Bug 3138037

Change-Id: I72fc7557c28e72df08a3751c3c93acfb35749d68
2010-11-16 11:28:58 -08:00
Marc Blank
28214840dc Merge "EmailProvider content caching" 2010-11-16 11:18:00 -08:00
Marc Blank
fab77f147f EmailProvider content caching
* In this CL, we cache individual rows, based on the CONTENT_PROJECTION
  defined for the most common queries (Account, HostAuth, Mailbox, and
  Message)
* Queries on individual rows (most often Class.restoreClassById()) will
  look to the cache first, rather than querying the database
* Queries on smaller projections will build MatrixCursor's from cached
  data
* Write-through caching updates the cache with changed columns
* Experiments with live data indicate that > 95% of queries that are
  cacheable (single row, no selection) can be retrieved from the cache,
  thereby saving a great deal of disk access.
* Timing experiments show that cache hits are > 40x faster than cache
  misses
* Unit tests for the various classes exist, with more coming

TODO
----
* More unit tests

Change-Id: I386a948a2f4cc02b6548d07d9b2fefd1e018a262
2010-11-16 08:58:05 -08:00
Andy Stadler
7fd78d8d61 Create XL layouts for AccountSetupOptions
* Landscape and portrait layouts
* Quick fixes to phone UX (not shippable)
* Added some CHAR_LIMIT values

Bug: 3188940
Change-Id: I093d5a6dcde2da96c173b5878900114802aead3e
2010-11-15 18:37:56 -08:00
Marc Blank
01f8be9952 Merge "Accept complex characters policy regardless of password mode" 2010-11-15 15:01:13 -08:00
Andy Stadler
17adb23fb4 Preliminary XL version of Account Names screen
* Add new account names layouts for XL devices
* Placeholder UX for phones

Bug: 3188940
Change-Id: I8c9d0793b004af5f5b66070fd18ecb46fc6f1612
2010-11-15 12:08:37 -08:00
Makoto Onuki
65b1eef31b Message view code change
- Show sender email address
- Show BCC for sent messages
- Don't show the default quick contact badge frame.
  (change QuickContact to ImageView)

Bug 1501239
Bug 3138021

Change-Id: I0e8d91ad3a6a3a021c8aff0945a1ce11d13b2728
2010-11-15 12:03:36 -08:00
Makoto Onuki
17670b1194 Merge "Small code change on MessageCompose" 2010-11-15 11:03:21 -08:00
Andy Stadler
27c70e3322 Preliminary XL version of Account Type screen
* Add new account type layout for XL devices

Bug: 3188940
Change-Id: I12ebe60075971fa14c7c55be65dccc0b7602f566
2010-11-14 21:37:41 -08:00
Andy Stadler
7988164ddf First pass of XL account setup
* AccountSetupBasics now has an XL version
* This is from prelim wireframes
* Final colors, text size, and positioning all TBD
* Fixed a StrictMode violation (counting #accounts in onCreate)
* Lightweight (non-shippable) fixes for functional phone UX

Bug: 3188940
Change-Id: Idf6cb514208eba07eaa20b20abfd5fcc3dae1751
2010-11-14 21:16:49 -08:00
Marc Blank
ac05d5e179 Accept complex characters policy regardless of password mode
* We were rejecting complex characters policy if the mode was
  none or simple, but this case is already handled in the
  constructor for PolicySet

Bug: 3192973
Change-Id: I060b17401c58498d1597c9322be588020deca69c
2010-11-13 14:32:57 -08:00
Makoto Onuki
4977ce62f0 Small code change on MessageCompose
Change how we show/hide CC/BCC.  The new way will work for the tab UI too,
where we show the labels to these fields as well.

Also hide the "+Cc/Bcc" button when they're visible.

Bug 3138037
Bug 3192841

Change-Id: Ic78b3200c418430c8eade3ca1238b0d0f1ee4731
2010-11-12 16:19:26 -08:00
Makoto Onuki
949138d482 Merge "Fix NPE on the phone UI" 2010-11-12 16:08:28 -08:00
Makoto Onuki
05565d4e83 Fix NPE on the phone UI
It still has a problem that no menu options show up on the activity,
but it's at least useable.

Bug 3192277

Change-Id: Ia891557020c863bfa53d45b7465d012aa411d67f
2010-11-12 14:25:37 -08:00
Makoto Onuki
9e34bb73f7 Action bar: Use the app icon as back.
Bug 3137891

Change-Id: I3d8e10f7a3a7880518127c4ed582bc2b7c96c8d6
2010-11-11 17:03:06 -08:00
Makoto Onuki
6926cf85ef Merge "Fix "Parcel@406cd448: Unmarshalling unknown type code..."" 2010-11-11 17:02:52 -08:00
Makoto Onuki
5f91dd12d8 Fix "Parcel@406cd448: Unmarshalling unknown type code..."
It was a mismatch between onSaveInstanceState and onRestoreInstanceState.

Bug 3158588

Change-Id: I36ff6ee8a666ff418f3cf0da50477f9347040322
2010-11-11 17:00:28 -08:00
Marc Blank
ec79508146 Revert "Reuse mailbox cursor unless boxes have changed"
This reverts commit 6c3fa18356.
2010-11-11 10:55:37 -08:00
Marc Blank
cb2b974899 Merge "Fix provisioning error with min complex characters" 2010-11-10 17:55:57 -08:00
Marc Blank
313532ab06 Fix provisioning error with min complex characters
Change-Id: I411cc97460561edee2269119225a41630a2d8444
2010-11-10 17:45:44 -08:00
Makoto Onuki
2ac1eaf8c3 Account selector rework.
- Show email address
- Show inbox unread message count

Initially I thought of using a join to get accounts with their unread
counts with one query, but there were enough subtle issues that I gave up
on the idea.

Instead it uses a MatrixCursor to build a completely new cursor,
based on a regular accounts cursor.

Change-Id: I09e8762f131cc2bd3637e1a3d302088a3b5b2479
2010-11-10 17:41:29 -08:00
Makoto Onuki
fd8ee7bc50 Show confirmation dialog before discarding drafts.
1. This CL implements the most common case, which is pressing the discard
  button on MessageCompose.

2. This CL doesn't change the discard on message list, which is much trickier.
   (We need to check the message type of all messages in the selection,
   as selection can contain any number of any kind of messges in "All Starred")

Bug 3072556

Change-Id: Ib270cae726f8fd5abf7e0e7dfc34ce97019d5301
2010-11-10 14:13:05 -08:00
Makoto Onuki
77303a483b Merge "New message view command layout" 2010-11-10 14:09:38 -08:00
Makoto Onuki
931ca67a1f New message view command layout
UI Changes:
- "Move", "Delete" and "Mark as unread" became action bar commands.
- The message view bottom panel now only has "newer" and "older" buttons,
  with  the current position in the message list.  (shown as POS of TOTAL)
- The buttom panel is now shown only on portrait

Non UI changes
- MessageOrderManager now keeps track of the current cursor position
  as well as the total message count.

- Fixed the "move_action" string, which was wrongly marked as non-translatable.

Bug 3169454

Change-Id: I599543f9e11000a4ee283d31fbd407b2ab53ac44
2010-11-10 11:08:14 -08:00
Makoto Onuki
6f3d167cfa Don't show non-incoming message in notification.
Filter out non-incoming messages using a subquery.
(because the message table doen't have the mailbox type.)

I was initially thinking of adding a new content URL for
the message table joined with the mailbox table, but it turned out
to be a bit of pain, so ended up using a subquery.
(one of the problems was that both tables had the "_id" field.)

Bug 3177220

Change-Id: I276efb70db1589835f3ddb8c7da4773e72d8691b
2010-11-10 10:22:41 -08:00
Makoto Onuki
d12e56d321 Fix auto-refresh of mailbox list
sEnableUpdate should default to true.

Bug 3180421

Change-Id: I1145846d96bba9e962f598e785daf7ce7ad2404b
2010-11-09 15:27:55 -08:00
Makoto Onuki
b70772daa5 Merge "Code change for new mailbox list layout" 2010-11-09 13:47:08 -08:00
Marc Blank
4ac5286eb9 Merge "Don't allow d&d move from boxes that don't support it" 2010-11-09 13:22:25 -08:00
Marc Blank
e857ff50ec Don't allow d&d move from boxes that don't support it
Bug: 3177021
Change-Id: Ib5cfcef05794d6f83884d97f2096f3d4f6b3295c
2010-11-09 12:21:34 -08:00
Makoto Onuki
9c39deef4e Code change for new mailbox list layout
- Don't show a folder icon for regular mailboxes
- Change the count look
- Don't show counts for Sent/Trash.

Bug 3137965
Bug 3073147

Change-Id: I8fc0af8fc2d51968605fe4b570e5704453092ac7
2010-11-08 18:16:23 -08:00
Makoto Onuki
44904aee53 Merge "Don't call dismiss() in onLoadFinished()." 2010-11-08 15:34:17 -08:00
Makoto Onuki
8197d84734 Don't call dismiss() in onLoadFinished().
It's prohibited.  Instead use a Handler to delay-call it.

Bug 3173317

Change-Id: Ic5ef245a65b3a4eeebabcebd6323b9a7921f34d5
2010-11-08 14:27:13 -08:00
Marc Blank
ad222dc6bb Remove heartbeat logging in ExchangeService
Change-Id: I76be32340811a6a64fb404964d424d881b4db7c5
2010-11-08 13:05:38 -08:00
Marc Blank
6c3fa18356 Reuse mailbox cursor unless boxes have changed
Change-Id: Ic91b1d7bd72e9faf04d3448c1e194663db2c889a
2010-11-08 12:51:55 -08:00
Marc Blank
dc8f1afeb6 Merge "Prevent unnecessary database queries in ExchangeService" 2010-11-05 20:36:19 -07:00
Marc Blank
79ff660aa2 Prevent unnecessary database queries in ExchangeService
Change-Id: Idc3cbc272bd96598b7c7a5de644786bddf1ce03e
2010-11-05 20:35:14 -07:00
Andy Stadler
aa1259b4cf Merge "Handle clicks outside of the "checking..." dialog" 2010-11-05 17:00:53 -07:00
Andy Stadler
992b7e7ed3 Handle clicks outside of the "checking..." dialog
* Clicking outside of the dialog actually "cancels" it
* Need to shut down the checker so it doesn't keep trying to
  update it or close it when done.

Bug: 3120019
Change-Id: I5faa3c78b64d2aafc472b03b8086695edaf0b3fd
2010-11-05 15:54:28 -07:00
Makoto Onuki
30ba828784 Make the account dropdown visible again.
Workaround for the framework issue that the app context doesn't
use the right theme.

Also removed the use of obsolete methods.

Bug 3169944

Change-Id: Ic8d3ba2edb9300df549cb902855025815021ff49
2010-11-05 14:06:29 -07:00
Andy Stadler
4535237e3b Merge "Fix NPE in pop3 checkcapabilities" 2010-11-05 16:52:28 +00:00
Makoto Onuki
467eb0cceb Merge "Reverse FLAG_INCLUDE_QUOTED_TEXT" 2010-11-05 16:44:02 +00:00
Andy Stadler
54ab7a27a3 Fix NPE in pop3 checkcapabilities
* This happens if an open fails immediately (error message in the
  initial banner) followed by a checkSettings.
* The fix is to harden checkSettings to force a clean connection
  every time.

Bug: 2170147
Change-Id: If7403bf517477d2b03b21d71caab511fe45e234c
2010-11-04 23:34:26 -07:00
Andy Stadler
9ce244b2e3 Hide vibrate notification option on no-vibrate devices
* Check for existence of vibrator, hide option if appropriate
* Notifications with vibration are still OK, they are just ignored
* Minor cleanups & renaming

Bug: 2988758
Change-Id: Ia1fd259f57d33a75a54cf1016f66a1c072aba579
2010-11-04 21:13:45 -07:00
Marc Blank
bad09c18d9 Correct drag & drop mechanics; implement multiple selection
* This CL brings drag&drop move in line with the current document
  describing its functionality in the Email app

Bug: 3135124

TODO: Assets and proper creation of the drag thumbnail based on
  those assets
TODO: Review long-press behavior re: press on subject vs sender

Change-Id: I6e1ee1a1f055feb041a0338f2f5c775a88620595
2010-11-04 17:13:55 -07:00
Makoto Onuki
138abe82e6 Make "Send all messages" a menu option
- Now it's a menu command rather than a button.
- Also string changed from "Send outgoing messages".

Bug 3166218

Change-Id: I82f6188365f9f6bc5a6d40fb23d774eebe181445
2010-11-04 16:53:18 -07:00
Makoto Onuki
0e6254223a Reverse FLAG_INCLUDE_QUOTED_TEXT
To make it compatible with old databases.

(Follow-up to Ie7bcca23)

Bug 3162967

Change-Id: Ie3bbb5089900bb9dbd0834adbdd466fa009245f9
2010-11-04 16:30:03 -07:00
Makoto Onuki
bf678771b7 UI change: MassageCompose
Basic changes for the new UI.  At this point we don't know what the new phone
UI will look like, so I didn't bother trying to preserve the old behavior on
the phone UI.  The changes will affect both the phone UI and the tablet UI.

- Send, Save Draft, and Discard are now action bar commands.
- Add CC/BCC and Add Attachment are now regular buttons.
- Activity title changed to "Compose"
- Some string changes per new wireframe

Further changes (actual layout changes for the latest wireframe) should be made
only for the xlarge layout.

Change-Id: I68c9c37dfdca6736b1e35053e7f196800fcfce2e
2010-11-04 15:22:25 -07:00
Marc Blank
c81bef6720 Drag & Drop "move to folder"
* Drag & Drop "move to folder" preliminary implementation
* Use "drag handle" button to initiate drag
* Use the message list item itself as the drag thumbnail for
  one item; "Move N messages" for multiple (not implemented)
* Disable MailboxList update during drag
* Use ListView itself as drag/drop target

Bug: 3138004
Change-Id: I9243e4f583cf91caa1b9dd04fd64d52e8b28fa30
2010-11-04 08:45:24 -07:00
Makoto Onuki
e4f8111001 Merge "Fix & clean up intent handling" 2010-11-03 16:53:02 -07:00
Marc Blank
5ade775c8f Merge "Send sync start/finish callbacks in pairs" 2010-11-03 16:01:10 -07:00
Andrew Stadler
997a022c9b Enable zooming in MessageView
Bug: 2282390
Change-Id: Ie5be3c4adb8cc3bef5ccf4fccbfefe8a40872b17
2010-11-03 15:31:08 -07:00
Marc Blank
12b398fac3 Send sync start/finish callbacks in pairs
Bug: 3143544
Change-Id: Ifb8c3c4c12e32df6a7d058446a0279c26048e0f3
2010-11-03 11:18:07 -07:00
Andy Stadler
ba4e72a947 Cleanup various IMAP/POP manual account setup defaults
These defaults affect manual setup only.  There should be no changes
observed in automatic setup, and no changes observed in EAS setup.

* user $email instead of $user as default login
* guess "imap." or "pop3." for server name
* propagate the incoming server name to the outgoing server name, and
  replace "imap.", "pop3." or "pop." with "smtp."

Also, fixed a couple of leftover places where we were trimming
passwords (and should not be, since some people insist on having
spaces in their passwords.)

Bug: 2978634
Change-Id: I9b0e345aa9550b5e1cc29aaa22109f03da61af20
2010-11-03 09:31:45 -07:00
Makoto Onuki
7126e5ae53 Fix & clean up intent handling
- Make sure an account shortcut really opens the account by
  adding the FLAG_ACTIVITY_CLEAR_TOP flag to shortcuts

  * Shortcuts have to be re-created for this fix to take effect.

- Remove Welcome.createOpenCombinedInbox/OutboxIntent, which don't work
  with the new combined view.

  * createOpenCombinedInboxIntent() is not used already
  * createOpenCombinedOutboxIntent() is used, but is not final UI, so
    removing it is okay.

- Fix MessageListXL.actionOpenMailbox -- now it really uses the passed
  mailbox ID.

Bug 3144066

Change-Id: I2ee3f84c62a135351c10266c7ca6d5178c3a0ca2
2010-11-02 18:18:43 -07:00
Andrew Stadler
c50f912676 Inhibit "send" when user is a monkey.
While monkey is active, any clicks on "send" will be mapped to "save".
Drafts will pile up, but nothing will get out.

Bug: 2799956
Change-Id: I300d50001b43c8b61062143f9a0ac914aa2deaca
2010-11-02 16:14:19 -07:00
Andrew Stadler
ba0b1bbc8d Implement text zoom for Message View
* Add preference for default text size
* Move saveSettings logic into onPreferenceChange handler
* Per user tests, default setting is large (not "normal") for XL devices.
* Use setting in MessageView's WebView

TODO: Investigate zooming header (to/from/subject/etc) as well.

Bug: 2282390
Change-Id: If32ed3626244b046941a461f974b3dbdb535f592
2010-11-02 14:58:24 -07:00
Marc Blank
278cb8e3d5 Merge "Support EAS in providers.xml files" 2010-11-01 21:14:46 -07:00
Andrew Stadler
cd09545b87 Provide runtime switch for GL acceleration
* new checkbox in debug fragment
* saved value in prefs so it's sticky
* each Activity calls a helper to enable/disable per that flag

Change-Id: I1af1ae9f401bc746cc97da00dfb0e06407b79d46
2010-11-01 16:16:27 -07:00
Makoto Onuki
da0d12ca36 Merge "Add null check to investigate an NPE in restoreMessageWithId." 2010-11-01 15:40:26 -07:00
Makoto Onuki
d281726706 Add null check to investigate an NPE in restoreMessageWithId.
We're getting an NPE in restoreMessageWithId(EmailContent.java:670)
called from MessageFileViewFragment.openMessageSync().

However, there're only two things that can be null in this line,
context and context.getContentResolver(), and either one really
can't be null.  Add explicit null checks to investigate what's going
on.

Bug 3134403

Change-Id: I463b039b6afeda32729f7e6a93edfdb9abf12093
2010-11-01 15:29:11 -07:00
Marc Blank
26e01b4ad2 Merge "Delay appearance of "stop" button when loading attachments" 2010-11-01 14:02:01 -07:00
Marc Blank
fdc41d4ffc Delay appearance of "stop" button when loading attachments
Bug: 3082804
Change-Id: Ib8b0fcec36a7303b2094bd0e49645d11aa2ff2db
2010-11-01 13:48:53 -07:00
Makoto Onuki
bbe25adfc8 Fix crashes related to readParcelable
We need to pass the actual class loader.  Passing null makes it use
the boot class loader, which can't find our classes.

Bug 3073304

Change-Id: I1c72c1d352cfc0a730aba1d83eb048a8cfa95b67
2010-11-01 13:47:53 -07:00
Makoto Onuki
730cc6724a Add "Combined view".
- Don't show combined mailboxes with regular mailboxes in the mailbox list.
- Add "Combined view" to the account selector instead.
- "Combined view" has all the combined mailboxes and accounts.
- Renambed these combined boxes.  (e.g. "Combined inbox" -> "Inbox")
- Regular account view still has "Starred" mailbox, but it's actually
  "combined" and not per-account.
- Re-order special mailboxes per latest wireframe.

Bug 3138004

Change-Id: I4c5860c6774b10c55ba0ca599373e51105432cf8
2010-11-01 11:51:51 -07:00
Brad Fitzpatrick
f0ce3ea911 Merge "SharedPreferences commit -> apply" 2010-11-01 10:32:09 -07:00
Brad Fitzpatrick
bd29c30903 SharedPreferences commit -> apply
Change-Id: Icdca00268a8b5ea274c91366867172ee7e3841d4
2010-11-01 08:51:26 -07:00
Marc Blank
4afdd19e20 Support EAS in providers.xml files
Bug: 2962123

Change-Id: I661c52afcf36e337e29bb10fd878196a3b0147ae
2010-10-29 19:03:44 -07:00
Marc Blank
a7fbf44511 Merge "Harden AttachmentDownloadService" 2010-10-29 16:29:13 -07:00
Andrew Stadler
34e6205d44 Simplify setupSyncReportsLocked
* Remove three unneeded DB lookups
* Eliminate race condition that could cause NPE
* Remove protocol field from report, it wasn't needed (we already
  set the sync interval to -1 which has the same effect.)

Note, the problems were introduced unintentionally, due to the merged
result of three different CL's:
 I168b3db49bf422b33d05f25cfff1c7be15150c2b
 I74a3dae21d9ec16f9903bdf2a1c28092ae89cc50
 I53e935f8bf08e0bda6e2cd483229a6377ed39d74

Bug: 3139451
Change-Id: Iadbed267f88808aeace0a2f011e4acf79074af70
2010-10-29 11:38:28 -07:00
Marc Blank
b961c78ff4 Harden AttachmentDownloadService
* It's possible that endDownload will be called for a request
  that has been dequeued.
* Harden endDownload against this eventuality, so that we clean
  up properly without throwing exceptions

Bug: 3142618
Change-Id: If61136ed1ea972248fc5f9388beaaf84754f9931
2010-10-28 17:21:28 -07:00
Marc Blank
4f1480369c Ensure that finishBroadcast is called in broadcastCallbacks
* An unexpected (runtime) exception during a callback left the
  broadcast unfinished, leading to a fatal exception
* Ensure that we always call finishBroadcast()
* Catch RuntimeException in a broadcast call, so that other calls
  can be executed
* Addresses one of two issues in the referenced bug

Bug: 3142618
Change-Id: I77166bf927560681a2b189906cd687a6e3585223
2010-10-28 17:00:35 -07:00
Marc Blank
affe44f14c Merge "Revert "Fix strict mode violation in maybeStartExchangeServiceThread"" 2010-10-27 17:14:52 -07:00
Marc Blank
f74e2578aa Merge "Revert "Correct strict-mode fix CL"" 2010-10-27 17:14:40 -07:00
Marc Blank
13fe88f38d Revert "Fix strict mode violation in maybeStartExchangeServiceThread"
This reverts commit 0e1ffb033a.
2010-10-27 17:13:53 -07:00
Marc Blank
dac9c15266 Revert "Correct strict-mode fix CL"
This reverts commit 87a7f84580.
2010-10-27 17:12:49 -07:00
Andrew Stadler
4f71ade96e Remove BOOT_COMPLETED log.
Change-Id: I3eb06076ad61dab0f38e32e736e7dbbcf8dde065
2010-10-27 16:19:55 -07:00
Marc Blank
87a7f84580 Correct strict-mode fix CL
Change-Id: I233b77ec02d0b9519b4dba57458b1b5cf9a97561
2010-10-27 09:32:59 -07:00
Marc Blank
45b15734d8 Merge "Delete secured accounts if device admin is disabled" 2010-10-27 09:03:39 -07:00
Marc Blank
02d59d2194 Delete secured accounts if device admin is disabled
* Update unit test

Bug: 2817683
Change-Id: Ia7117c34e7bbba13ac4f2ff375d19b3ef94ef49c
2010-10-27 09:03:21 -07:00
Marc Blank
0e1ffb033a Fix strict mode violation in maybeStartExchangeServiceThread
Bug: 3133688
Change-Id: I94d0b6269c6ebffa54f4a0b29689004feccb01d6
2010-10-27 09:01:50 -07:00
Marc Blank
53e9f81822 Merge "Only callback with sync error if sync was a service request" 2010-10-27 09:00:16 -07:00
Marc Blank
eed42e83ab Cleanup for dump() in AttachmentDownloadService
Change-Id: Id875d3278953ecb3a98ab8b1d290f3883e974c4f
2010-10-27 08:59:13 -07:00
Marc Blank
4a66884b74 Merge "Use notifications for login failures" 2010-10-27 08:57:27 -07:00
Marc Blank
d3e4f3ca7e Use notifications for login failures
* For now, clicking on the notification takes the user to the
  Welcome activity, as we don't have final flows for the new
  account setup UI
* Need comment on strings; the problem is that notification
  text must be rather short if we're to use the standard
  notification display.  It looks like newer UI will allow
  3 lines instead of 2, however.
* Tested w/ IMAP, POP3, EAS, and SMTP

Bug: 2322253
Change-Id: I7ed6fa5599179870cbcdb14af062e956eff37ec5
2010-10-27 08:56:37 -07:00
Dmitri Plotnikov
b07a6fcf33 Merge "Disable picker/shortcuts for Exchange GAL" 2010-10-26 16:47:32 -07:00
Makoto Onuki
ffd258d873 Fix the class name in the log.
Change-Id: Ie672f2e65b28dc742cce561d13aa3016d8bbb1f1
2010-10-26 13:45:52 -07:00
Marc Blank
ad5c2ac04b Only callback with sync error if sync was a service request
* EasSyncService was using the callback for all syncs, including
  those running in the background.  We really only want to report
  back when syncs initiated by Controller fail...

Bug: 2239661
Change-Id: I7c4aceb74fe94ca38f5bdbbabe5dda62ccac60ec
2010-10-26 13:11:12 -07:00
Dmitri Plotnikov
e9cea32218 Disable picker/shortcuts for Exchange GAL
Bug: 3130733

Change-Id: Ib2f324fde3471b76e95ee98aad518fc38c27b9fb
2010-10-25 15:24:56 -07:00
Makoto Onuki
5b072f9129 Merge "Don't use sendMailCallback() -- don't track outbox status" 2010-10-25 13:19:37 -07:00
Makoto Onuki
965e9953b6 Merge "Fix NoSuchMethodError in test" 2010-10-25 13:14:30 -07:00
Makoto Onuki
4c49d7a302 Merge "Fix reply/forward on EAS" 2010-10-25 13:14:18 -07:00
Marc Blank
023285796b Merge "Add dump of AttachmentDownloadService" 2010-10-25 12:49:36 -07:00
Marc Blank
da0bdb7cec Don't upsync empty contact tags
* EAS 12.0/12.1 don't mind these, but EAS 2.5 objects in some cases
  (title and prefix, certainly)  and the upsync fails
* The error case occurs because the ContentValues provided by
  ContactsProvider actually has a value; the value, however, is an
  empty string
* Prevent this by checking for empty values before serializing

Bug: 2607778
Change-Id: I853ce711024a414f53861720000cc87a7349d660
2010-10-25 12:46:57 -07:00
Marc Blank
a162668f23 Add dump of AttachmentDownloadService
* Will be helpful for debugging our new background service

Change-Id: Ia865c7c6cb418bd1a1f3d593421b98664c041e07
2010-10-22 16:57:05 -07:00
Makoto Onuki
0e00160074 Fix NoSuchMethodError in test
I should have been used the one without default in the main code,
which uses the other one (with a default), so both can safely be used
in tests.

Bug 3107191

Change-Id: I2011d96f6824a1a6e99e81f5c8e60c966a444d92
2010-10-22 16:16:53 -07:00
Makoto Onuki
be1aa37dc5 Don't use sendMailCallback() -- don't track outbox status
There're differences between how SMTP and EAS use this callback.
We should eventually unify the behavior, but till then let's not
use sendMailCallback().

Bug 3116377

Change-Id: Ic5ecf16251c11ab2bd2e16e29bd417f1ece67f14
2010-10-22 15:45:51 -07:00
Makoto Onuki
a76c9cdcc7 Fix reply/forward on EAS
When removing the original, need to clear FLAG_TYPE_REPLY and FLAG_TYPE_FORWARD
flags too.

Bug 3125167

Change-Id: I64be98bc10b5e1a0b9242c1c528ed96bb0a24fc1
2010-10-22 14:43:21 -07:00
Jean-Baptiste Queru
9a9c725174 Merge a059c4a1 from gingerbread-plus-aosp
Change-Id: I955120aff44d69bcd6fde165ac7ac974acbd3c78
2010-10-22 05:55:38 -07:00
Marc Blank
2a08ef0d28 Don't allow MailService to schedule EAS accounts
Bug: 3120208
Change-Id: I53e935f8bf08e0bda6e2cd483229a6377ed39d74
2010-10-21 16:49:41 -07:00
Marc Blank
4a546f5f6e DO NOT MERGE: Backport AttachmentProvider security fix
* Apps trying to open attachments using AttachmentProvider were
  seeing SecurityExceptions due to the fact that internal calls
  from AttachmentProvider to EmailProvider didn't have their
  calling identity saved/restored.
* Updated provider calls so that these calls use the Email
  process' identity.
* Backport of Ifb71ad834530c6232728e1aad31439991f8ed379, fixing
  2908737

Bug: 3121146
Change-Id: Ifa3a0ca8d3e34733c937d7f8c60f068984e1f4f2
2010-10-21 15:39:36 -07:00
Marc Blank
ca065c3927 Merge "Respect the RESPONSE_REQUESTED tag in meeting invite mail" 2010-10-21 08:14:44 -07:00
Makoto Onuki
a44c0349fa Merge "Don't move drafts to trash" 2010-10-20 17:37:42 -07:00
Makoto Onuki
6a2265eff2 Add checkbox to include original text or not.
Added the "Include text" checkbox according to the latest mock.

Before:
- We removed original message when the user pressed X.

Now:
- We save the original message all the way till the draft is sent.
- The "Include text" check state is saved in the db.  (to Message.mFlags)

Bug 3072414

Change-Id: Ie7bcca23bb6a02d676700027b0b6cb94b6627236
2010-10-20 14:21:17 -07:00
Marc Blank
8d70372e0a Merge "Don't duplicate attachments when saving drafts" 2010-10-20 13:20:40 -07:00
Marc Blank
e14aa7dacb Merge "Add account name to temporary sync error UI to help debugging" 2010-10-20 13:05:05 -07:00
Marc Blank
3bdba62f58 Don't duplicate attachments when saving drafts
Bug: 3070196
Change-Id: Ic9dffe57cdc81615e07b1c593fc71085e1281718
2010-10-20 13:03:33 -07:00
Marc Blank
deb51f824e Add account name to temporary sync error UI to help debugging
* At this point, there are a lot of toasts shown that relate to
  sync failures (e.g. "Unable to connect to server").  To help
  find where they're coming from, add the display name of the
  account
* UX folks: Please consider what this UI should be

Change-Id: Id9b76cd22178727bedaf67ad0b7450edff99a791
2010-10-19 15:45:03 -07:00
Marc Blank
a8bb34fd62 Respect the RESPONSE_REQUESTED tag in meeting invite mail
Bug: 2639037
Change-Id: I4bd73f23ba270fa0ead72971b5a79d9db678a8dd
2010-10-19 14:23:54 -07:00
Makoto Onuki
77aabd9519 Don't move drafts to trash
Now deleted drafts are really deleted, rather than getting moved to trash.

Also rewrote the test to avoid creating AsyncTasks on the test thread.
In this case it seems to be running fine, but I've had problems doing this
before.

Bug 3099179

Change-Id: Ice5298bf94312ce764d90aa35c5a6c5262ec5b42
2010-10-19 13:54:05 -07:00
Marc Blank
eb49659423 Prevent MailService from spamming AccountManager during reconcile
* When any Account is modified, MailService gets a content notification and
  runs reconciliation in an AsyncTask.  Reconciliation ends up calling the
  AccountManager, which also runs asynchronously.  The net effect is that,
  especially during unit tests, where we create/destroy accounts rapidly,
  these calls can "back up", ending in a situation in which the worker pool
  for AsyncTask is filled, with a resulting RejectedExecutionException
* We fix this by preventing more than one request for reconciliation to
  be queued at a time
* Added a unit test that thrashes the notification handler

Bug: 2937628
Change-Id: Iaf25806efb46831f31704604360df091752d9525
2010-10-18 14:07:47 -07:00
Makoto Onuki
7fdd88e37c Merge "Put the dest mailbox name in the "message moved" toast" 2010-10-14 15:36:37 -07:00
Makoto Onuki
ee7205d100 Put the dest mailbox name in the "message moved" toast
Also removed obsolete todo

Bug 3075984

Change-Id: I10ce9df29c4913c328d2a962151d4a9f2e6e1408
2010-10-14 15:14:46 -07:00
Makoto Onuki
b0ffb3e39a Merge "Don't use negative IDs with ListView" 2010-10-14 14:45:23 -07:00
Makoto Onuki
9b5001a34c Don't use negative IDs with ListView
ListView uses the _id column for some operations, including
onSave/RestoreInstanceState, and if the column contains negative values
they don't work as expected.  The same assumption seems to be in other places
as well, so let's just avoid using negative IDs.

With this CL we now use two different IDs, one for ListView, which will
never be negative, and the other for us, the actual mailbox ID.

Bug 3049315

Change-Id: I263b4895212b5f8bb80c98acaf5c4eccd0bfef55
2010-10-14 14:42:46 -07:00
Makoto Onuki
a5fcefd179 Merge "Fix potential crash in MessageViewFragment.openMessageSync" 2010-10-14 10:55:45 -07:00
Andy Stadler
214c6c6c81 Fix remote wipe with mobile sync server
* It appears as if our running multiple sync threads can confuse the
  mobile sync server during a remote wipe (the server expects the next
  client response to be an acknowledgment, whereas it might well be
  a command or response from a different thread)
* To avoid this, we first put the account on security hold and then
  shut down all other sync threads for the account
* After this, we send the acknowledgment and the remote wipe proceeds
  normally.
* NOTE: It's possible that, due to the vagaries of multithreaded
  operation, one of the other syncing threads could still send a non-
  acknowledgment response to the server before our provisioning thread
  gets a chance to send its acknowledgment.  However, since the other
  syncing threads will terminate (and not restart, because of the hold),
  the provision/remote wipe/ack sequence will work on the subsequent
  attempt

Bug: 2844888
Backport From: Ib4ffbbc67b681e69176b6c1d5515fa80c7d1e121

Change-Id: Ie9e944bd39f331c2ddc0f0ba303a3d5684f6f033
2010-10-13 15:39:27 -07:00
Andy Stadler
efcde27bf7 Use original all-day flag when upsyncing exceptions DO NOT MERGE
Bug: 3087410
Backport of: I4bed0039758e98d4b85054876f192605eb00ee82

Change-Id: Ibc875d58c2f6c5317ce8e4fee97b96c2fd6b2ecf
2010-10-13 15:05:38 -07:00
Andy Stadler
9c2baaabd2 Fix upsync of exceptions in EAS 2.5 (Exchange 2003) DO NOT MERGE
* Apparently, Exchange 2003 doesn't like to see Visibility set in
  Exceptions
* Apparently, Exchange 2003 likes to see Exception Deleted and
  ExceptionStartTime prior to other data
* The word "apparently" is used above to indicate that these
  findings are not part of any specification, but have been
  determined empirically

Bug: 2775885
Backport of: I163f156675f65c494a59d5233b2b6e23b3f1d6a0

Change-Id: I5d32dea5c3903147725b8df87a71e961a4d78c60
2010-10-13 15:02:38 -07:00
Marc Blank
9ce8f4d2a3 Use original all-day flag when upsyncing exceptions
Bug: 3087410
Change-Id: I4bed0039758e98d4b85054876f192605eb00ee82
2010-10-13 14:10:36 -07:00
Makoto Onuki
09eb977c06 Fix potential crash in MessageViewFragment.openMessageSync
The problem is that ths method is called in a worker thread, so
there's nothing to prevent it from running just after/at the same
time as clearContent() (which sets -1 to mMessageIdToOpen).
If it does, it passes -1 to restoreMessageWithId() and crashes.

Also removed a half-obsolete comment which is a bit too obvious for its length.

Bug 3077387

Change-Id: I736d696046e6d8964a16c80515544c582aca3943
2010-10-12 16:38:40 -07:00
Makoto Onuki
9c293eb65a Show "No messages" when there's no items on message list
Show this when there's no messages, and no "Load more messages" footer.
i.e. Only Outbox, Drafts, and exchange mailboxes can show "No messages".

Also removed an obsolete comment.

Bug 2363624

Change-Id: If483d33cfacb186d0fe54b4f4382333a332be84c
2010-10-12 10:36:17 -07:00
Marc Blank
92f30bedf2 Merge "Fix remote wipe with mobile sync server" 2010-10-11 11:15:12 -07:00
Marc Blank
3afa93c054 Fix remote wipe with mobile sync server
* It appears as if our running multiple sync threads can confuse the
  mobile sync server during a remote wipe (the server expects the next
  client response to be an acknowledgment, whereas it might well be
  a command or response from a different thread)
* To avoid this, we first put the account on security hold and then
  shut down all other sync threads for the account
* After this, we send the acknowledgment and the remote wipe proceeds
  normally.
* NOTE: It's possible that, due to the vagaries of multithreaded
  operation, one of the other syncing threads could still send a non-
  acknowledgment response to the server before our provisioning thread
  gets a chance to send its acknowledgment.  However, since the other
  syncing threads will terminate (and not restart, because of the hold),
  the provision/remote wipe/ack sequence will work on the subsequent
  attempt

Bug: 2844888
Change-Id: Ib4ffbbc67b681e69176b6c1d5515fa80c7d1e121
2010-10-10 16:40:12 -07:00
Daisuke Miyakawa
43f2321d10 Modify code style.
Change-Id: I40eeb738ca2dcc7f21ddbc603b03debde5ac27d3
2010-10-10 15:17:52 -07:00
Daisuke Miyakawa
c8af3175df Merge "Use AccountAuthenticatorResponse properly." 2010-10-10 15:12:48 -07:00
Marc Blank
a0692b16e1 Fix upsync of exceptions in EAS 2.5 (Exchange 2003)
* Apparently, Exchange 2003 doesn't like to see Visibility set in
  Exceptions
* Apparently, Exchange 2003 likes to see Exception Deleted and
  ExceptionStartTime prior to other data
* The word "apparently" is used above to indicate that these
  findings are not part of any specification, but have been
  determined empirically

Bug: 2775885
Change-Id: I163f156675f65c494a59d5233b2b6e23b3f1d6a0
2010-10-08 16:32:20 -07:00
Marc Blank
30c99e0dc3 Merge "Make sure updatePolicies is always called during provisioning" 2010-10-08 16:27:21 -07:00
Daisuke Miyakawa
9dac94975f Use AccountAuthenticatorResponse properly.
Current implementation ignores callbacks coming from
AccountManager, which should be called everytime
when this Activity finishes its job.

Bug: 3069222
Change-Id: Iea03cf94bdfe8da184e415bf7e759ddeb46ecdd9
2010-10-08 16:16:43 -07:00
Makoto Onuki
6993130a7c Auto-refresh mailbox list
Refresh mailbox list when changing the account, if it's been more than
5 minutes since the last refresh.

Change-Id: I5b1400bb881197e117b8863f850c368c2d1ccbc6
2010-10-08 15:29:38 -07:00
Makoto Onuki
241f18f237 Fix when to clear notification
I was assuming MailService.resetNewMessageCount cleared notification,
but it didn't.

Doing it in Activity.onResume is clearly wrong because we don't always
have an account ID there.  If we don't, we're passing -1, which clears
all notifications for all accounts.

We're now calling resetNewMessageCount() in MessageListFragment,
when we refresh the list, so we can remove it from onResume() for the Phone
UI as well.

Bug 3074056

Change-Id: Ib0bb2fbb0309a0784fb3a525927102f423e930df
2010-10-08 13:51:23 -07:00
Marc Blank
0215d739d5 Make sure updatePolicies is always called during provisioning
Bug: 3055269
Change-Id: Ia266de108847923c01b5e0838a249aa9ee8f2d85
2010-10-08 12:56:14 -07:00
Marc Blank
f8630bfb82 Merge "Fix issue w/ duplicated messages after move (to trash/folder)" 2010-10-07 17:12:50 -07:00
Marc Blank
5151ca5341 Merge "Handle "Sync Email" properly from AccountSettingsFragment" 2010-10-07 16:05:26 -07:00
Marc Blank
47087049f0 Fix issue w/ duplicated messages after move (to trash/folder)
Bug: 2994014
Change-Id: Ia223447f799ebd6490da2dc5caf1d1270b446a44
2010-10-07 16:04:17 -07:00
Makoto Onuki
4b0d4f9f4d Fix "+ -1 more" in notification.
Need to reset lastUnseenMessageCount with unseenMessageCount.

Bug 3069406

Change-Id: I867dfaeb2d39cfd3511f956d60d2187031291780
2010-10-07 15:14:40 -07:00
Marc Blank
cae8626fb9 Handle "Sync Email" properly from AccountSettingsFragment
Bug: 3055326
Change-Id: I7ecc7eda975f0ec03d3d81ed042842eab2c94d4e
2010-10-07 15:04:20 -07:00
Marc Blank
998e3f5eca Merge "Fix MailService unit test" 2010-10-07 14:35:15 -07:00
Marc Blank
fe6e3eae2a Fix MailService unit test
Bug: 2844726
Change-Id: I168b3db49bf422b33d05f25cfff1c7be15150c2b
2010-10-07 14:34:50 -07:00
Marc Blank
07dc502e26 am d04ef0fd: am 5c5f3a0d: Fix issue w/ race condition leading to log spam
Merge commit 'd04ef0fd19e06d6ee2afb39f571b720a28478936'

* commit 'd04ef0fd19e06d6ee2afb39f571b720a28478936':
  Fix issue w/ race condition leading to log spam
2010-10-07 12:21:37 -07:00
Makoto Onuki
60c6dc4711 Sparse message list item layout for XL
- Tested on N1 as well
- Also fixes bug 2546662 -- show both invitation & attachment icons

Change-Id: Ic2f42370be32a0beb43f9018cefdce86028e8189
2010-10-07 10:17:58 -07:00
Makoto Onuki
de936b83ac Fix race condition regarding message reload.
The method to start ReloadMessageTask() when detecting content
changed events is delay-called, so need to make sure the fragment
is still in the valid state.

Bug 3069896

Change-Id: I1991d902e8044b4f8ca3ffd7d3e2e66005f1e960
2010-10-06 17:48:48 -07:00
Makoto Onuki
bb5fd95e75 Merge "Introduce tabs to view message, attachment and invite separately" 2010-10-06 11:55:41 -07:00
Makoto Onuki
f54e08eaee Introduce tabs to view message, attachment and invite separately
Added "tabs" to the message view according to the latset mock.
This removes the necessity of putting a WebView inside a ScrollView,
which caused the infinitely-growing email bug (issue 6882).

Right now the tabs are actually just Buttons.  Complete visual refresh
should follow it.

http://code.google.com/p/android/issues/detail?id=6882
Bug 2349275

Change-Id: I897a3a32e0dd7a90d637ac5ea1d47e5e65a1eabe
2010-10-05 16:53:59 -07:00
Makoto Onuki
feb8869c4f Remove unused method Utility.getIconIds()
And redirected the related tests to getIcon().

Bug 2894555

Change-Id: I1d90f01e7476ca79bddd644e123ad979d6ebe987
2010-10-05 16:15:38 -07:00
Marc Blank
5c5f3a0dbc Fix issue w/ race condition leading to log spam
Bug: 3064901
Change-Id: I115fa6878ae9b4464b3f0b9cace1f200e2e5f47c
2010-10-05 12:52:35 -07:00
Makoto Onuki
d058f8abcd Auto-refresh message view
Now MessageViewFragment detects changes made to the current message,
and update the UI.
(Although it doesn't really know if the message is really changed, or just
something else was changed in the DB.  It updates the header regardless.)

Change-Id: I35627c7aff129723b83605fc84521da907078571
2010-10-05 11:11:31 -07:00
Makoto Onuki
591e8fa0c9 Merge "Fix "move to" dialog style" 2010-10-05 11:06:00 -07:00
Makoto Onuki
7bfa32dbc5 Merge "Move reply/forward buttons to header" 2010-10-05 11:05:51 -07:00
Makoto Onuki
01b7e67f78 Move reply/forward buttons to header
Moved the buttons to the header.  All other buttons below the message view
go away, so I just hid the old buttons.

Also now we stop trying to hide these buttons when entering contextual mode,
which fixes bug 3044284: Message view buttons get disabled when closing
quick contact

Assets were temporarily copied from gmail.

Change-Id: Ib178c6221dfab02832a10d0c0441044e4969fb70
2010-10-05 11:04:10 -07:00
Makoto Onuki
573e0c5ffd Merge "Extract the throttling part from ThrottlingCursorLoader" 2010-10-05 10:26:14 -07:00
Andy Stadler
d7876681a8 Reorganize startup/shutdown code in SyncManager DO NOT MERGE
* Move all thread-related startup code into run()
* Move all thread-related shutdown code into new method shutdown()
* Add appropriate synchronization during startup/shutdown
* Add thread names to worker threads

Bug: 2790929
Bug: 2645835

Backport of: Idbd35892cea3de5fbd365102a62103b2f0bdf6c9
Backport of: Ib12a70222ac3fd9e65bec3834c0aae061858776c

Change-Id: Idfd1c9ac7fbe8ce6859b1933ab6d287e3cb0d2e9
2010-10-04 15:50:41 -07:00
Makoto Onuki
085f7eb121 Extract the throttling part from ThrottlingCursorLoader
Extracted into the Throttle class as I'll need this logic elsewhere.

Bonus: Now it has tests.

Change-Id: Ie9a5933f8e5015dda6985ba76814f1f945266178
2010-10-01 17:46:59 -07:00
Makoto Onuki
56034cab20 Fix "move to" dialog style
- Pass the correct context to the adapter to make the text visible.
- MailboxesAdapter itself now has two modes (normal mode for MailboxList,
  and "move to" mode), and use different views for them.

Change-Id: I2bd8a7d3a99d7fa3a047e653a77ec958e37e563b
2010-10-01 11:40:09 -07:00
Makoto Onuki
1a0b0092e0 Add "Clear WebView cache" button to debug preference
Change-Id: I317b57cb06b071f9574077b58998aafcb5e0dff8
2010-09-30 15:41:40 -07:00
Marc Blank
14a5d8d947 Provide better information w/ 500 error in EAS validation
* HTTP error 500 occurs with Exchange 2003 when the user tries to
  authenticate with wrong credentials; we report this as "Cannot
  connect to server", which is wrong
* Error 500 is supposed to mean "internal server error", but since
  we know that an authentication error can cause this, we now put
  up a better error message

Bug: 2933381
Change-Id: I9319a5ed6fbf4c92739f305b42b6b1cad7036a4b
2010-09-30 11:47:20 -07:00
Marc Blank
624081f373 Merge "Fix build break." 2010-09-30 11:21:22 -07:00
Marc Blank
b21db41b1f Fix build break.
Change-Id: Ica28b1e234e2c6966408efc7151ea517a18aa72f
2010-09-30 11:20:36 -07:00
Makoto Onuki
61eec98d39 Switch to static fragments
- Now we declare all fragments in the layouts.
- Added clearContent() to MessageList/MessageView to keep them calm when not
  used.  (e.g. MessageView.clearContent() will be called when closing message
  view and going back to the mailbox list+message list screen.)

- Some of the processes have moved from onStop to onPause.
- Now that we don't use the fragment transaction, the "restored fragments"
  has been removed, and the separation between selectXxx() methods and
  updateXxx() methods are gone.

Bug 3045555
Bug 3041502

Change-Id: I958897a8a38bccea1dfed7cfcd900e6dd52d2eed
2010-09-30 11:03:33 -07:00
Marc Blank
beb3a06fd7 Merge "Allow Serializer logging via isLoggable" 2010-09-30 10:39:34 -07:00
Marc Blank
05530d4c33 Allow Serializer logging via isLoggable
Change-Id: Ie6c0257a3fa854d7abc92a82b690884ce2a4cb4c
2010-09-30 10:39:01 -07:00
Makoto Onuki
4e400caab4 Merge "Switch to tablet style notification" 2010-09-29 18:35:47 -07:00
Makoto Onuki
899c5b8661 Switch to tablet style notification
- Now we show separate notification for each account
- New notification has sender photo, sender name, and subject
  of the latest email
- Added the NotificationController class, which is intended to manage
  all notifications besides "new message" eventually.

The framework doesn't seem to be 100% ready, and it's not clear how to
add the 3rd line in the expanded notification at this point.  Need to
revisit it later to verify UI details.

Change-Id: I40193ee372cb6b2b7245c1588890f238b2469699
2010-09-29 18:35:17 -07:00
Makoto Onuki
62c9df806e Two bug fixes related to preserving list scroll position
* When changing account/mailbox, reset scroll position.
Applied same change as I4b368f51 to MailboxListFragment.

Also fixed a bug introduced in the same CL.
When CursorLoader detects content changed events and reloads itself,
only onLoadFinished() gets called, and in this case we should keep the scroll
position.  This means mMailboxChanging should be cleared once data is loaded
for the next content changed reload.

Bug 3015916

* Don't try to make the selection visible when reloading the list for content
changed events.

We should make the selection visible only when account/mailbox is explicitly
selected.  We can use the same mXxxChanging flags for this.

Bug 3036317

Change-Id: I93e3653da6816f491c1e99c9ef6d6b947be4de37
2010-09-29 18:28:34 -07:00
Makoto Onuki
8818a658a1 Three pane layout
Implement basic behavior of the new layout.  Supports collapsing/expanding
message list on portrait.

TODO Collapsing the middle pane should cancel the selection mode on
     message list
TODO Implement animation
TODO On STATE_PORTRAIT_MIDDLE_EXPANDED state, right pane should be pushed out,
     rather than squished.

Change-Id: I0306516845de3a1f05a102864c3dc4aba809a49a
2010-09-29 13:38:32 -07:00
Marc Blank
cd2e98d000 Merge "Use LIMIT parameter in getFirstRowX calls" 2010-09-29 12:53:01 -07:00
Makoto Onuki
2711c16a46 Merge "Don't use QuickContactBadge.assignContactFromEmail" 2010-09-29 12:46:59 -07:00
Makoto Onuki
6740c7b5ac Merge "Don't restore list view state when changing mailbox." 2010-09-29 12:46:53 -07:00
Makoto Onuki
bc9253fb9a Merge "Rely on the fact that display name won't be empty" 2010-09-29 12:46:43 -07:00
Marc Blank
07597e547b Use LIMIT parameter in getFirstRowX calls
* Also, rename the LIMIT parameter to be consistent with naming
  conventions

Bug: 3046494

Change-Id: Iafc7f7d76f45bc7988e5d63783359082756b7ffa
2010-09-29 12:27:42 -07:00
Andy Stadler
d22651ccd1 am 060b1df0: am a9bc41f5: Show server name instead of account name
Merge commit '060b1df06954be1d72a659b0f00e30b8057484e0'

* commit '060b1df06954be1d72a659b0f00e30b8057484e0':
  Show server name instead of account name
2010-09-28 23:14:27 -07:00
Marc Blank
1d2c88738d Merge "Add Uri for Message queries that include a LIMIT" 2010-09-28 22:14:50 -07:00
Andy Stadler
a9bc41f5ec Show server name instead of account name
The format string "The server %s requires that you allow it to remotely
control some security features of your phone." was being displayed with
the account name instead of the server name.

Bug: 3011124
Change-Id: I1aadb5790297777831dd69f04ea89641240b7b87
2010-09-28 20:15:54 -07:00
Makoto Onuki
e33a317db0 Expand hit-area for checkbox and star on message list
Bug 2561779

Change-Id: I4b71d48c9440e0f3c308fbe8ff16ada04b9df54e
2010-09-28 16:56:53 -07:00
Makoto Onuki
ddfae933da Don't use QuickContactBadge.assignContactFromEmail
* assignContactFromEmail("") was causing the following exception on logcat.
"java.lang.IllegalArgumentException: URI: content://com.android.contacts/data/emails/lookup/,"

* This method is to set the contact to open when the badge is tapped,
  but we trigger quick contact by ourselves, so don't have to do call this.

Bug 3013527

Change-Id: I16e1573bd82ffe5c39d30b69361354010f508f91
2010-09-28 16:32:18 -07:00
Makoto Onuki
dc33d50a24 Don't restore list view state when changing mailbox.
Bug 3015916

Change-Id: I4b368f511a94ec83723b571d1cfca1b3d39e4d04
2010-09-28 15:23:39 -07:00
Makoto Onuki
c3b3b7a0a3 Rely on the fact that display name won't be empty
Change-Id: Ifd17daac472c1d439ddc4bd8e6811bb13a9018fa
2010-09-28 11:29:59 -07:00
Marc Blank
0efe738e05 Add Uri for Message queries that include a LIMIT
* Use a query parameter (e.g. ?limit=2); LIMIT works with any
  query

Change-Id: Idd106ab4b61aec237ac9676a201e797c4f65f15b
2010-09-28 10:58:36 -07:00
Marc Blank
f25236b61e Merge "Remove obsolete EAS logging" 2010-09-27 16:39:38 -07:00
Marc Blank
82c944ef3a Remove obsolete EAS logging
Change-Id: I549957c92aa05f98581441c1a7631f87040c5078
2010-09-27 16:38:28 -07:00
Andy Stadler
e242578a49 Make WebViews clickable DO NOT MERGE
* Makes the side-scrollable again
* Required after making them non-long-clickable

Requires companion change in WebView, to allow touch events while
clickable or long clickable (it had been requiring both)

Bug: 3036477
Change-Id: I4cae46d047f825d2aab08d254287855b187e9207
2010-09-27 15:54:37 -07:00
Andy Stadler
ac916da48e Improve handling of content-disposition DO NOT MERGE
* Check array returned by split("=")
* Add unit tests for this case
* Also add unit tests for quoting removal

Bug: 3040796
Backport from: I170f3cd483fe35186194edeb0c3142fb0e2e9b75

Change-Id: I32ccbdbc7264a95a9cd279218cae390e65e82eeb
2010-09-27 15:16:24 -07:00
Andrew Stadler
bbac024785 Merge "Improve handling of content-disposition" 2010-09-27 15:10:19 -07:00
Andrew Stadler
87fcd03a1b Improve handling of content-disposition
* Check array returned by split("=")
* Add unit tests for this case
* Also add unit tests for quoting removal

Bug: 3040796
Change-Id: I170f3cd483fe35186194edeb0c3142fb0e2e9b75
2010-09-27 15:09:35 -07:00
Andy Stadler
02a0edb60d Allow spaces in passwords DO NOT MERGE
* Separate/identical fixes for incoming, outgoing, exchange
* Unit tests
* Some protocols will fail anyway (e.g. POP3)

Bug: 2981433
Backport from: I82984e5912fc7fcb88e747815d0fe33cb36605e7

Change-Id: I49d5c13137e4f78b6fa0f9ce288c1a78ff028f88
2010-09-27 13:31:04 -07:00
Makoto Onuki
e96c09c55b Merge "Adding StopWatch class to measure elapsed time" 2010-09-27 11:53:54 -07:00
Makoto Onuki
7687f05f7b Adding StopWatch class to measure elapsed time
Change-Id: I0f38e89ffc030ba5105af50b147d783d71bd5f8f
2010-09-27 11:53:12 -07:00
Andrew Stadler
fb4333b3a5 Allow spaces in passwords
* Separate/identical fixes for incoming, outgoing, exchange
* Unit tests
* Some protocols will fail anyway (e.g. POP3)

TODO: Some sort of warning (master only - won't backport that)
Bug: 2981433

Change-Id: I82984e5912fc7fcb88e747815d0fe33cb36605e7
2010-09-27 10:04:03 -07:00
Makoto Onuki
d25d87c7ba Fix NPE with use of getFirstRowXxx
Make sure not to cast null into a primitive type.
(i.e. If null isn't expected as a return value, make sure to set a non-null
default value.)

Bug 3032143

Change-Id: I9a344d765c75a66f529ad8d99b00b2b919139f9c
2010-09-24 16:59:51 -07:00
Makoto Onuki
1f61263136 Merge "Refactor for new notification UI" 2010-09-24 16:59:25 -07:00
Marc Blank
224442906b Merge "Handle EAS type 1 folders (user-created)" 2010-09-24 16:54:57 -07:00
Makoto Onuki
08346b67b8 Refactor for new notification UI
- Move the notifiaction code into a bg thread.
  We need to access db to fetch the latest message
- Extracted ContactStatusLoader.load to synchronously load contact
  pictures.

Change-Id: I282ffb706ea8e14558bf29880a0fb952868b27e5
2010-09-24 16:22:47 -07:00
Makoto Onuki
0824439785 Workaround for ListView bug related to smoothScrollToPosition
Hopefully it'll soon be fixed in the framework, but it's blocking what
I want to do now.

Bug 3028455

Change-Id: I43ed059b7766a3bfc29166464bd449d905b207e4
2010-09-24 13:05:55 -07:00
Marc Blank
23f8d3be7d Handle EAS type 1 folders (user-created)
* If a type 1 folder has an mail folder as a parent (at any level),
  it is also a mail folder (and therefore, we should have it in our
  folder list)
* Before rejecting type 1 folders, look for parents and accept those
  that are mail folders
* Add unit test to verify logic

Bug: 2978410
Change-Id: I44cda1d1c1fd7f3976af53a1672736201cc995ff
2010-09-24 12:46:08 -07:00
Makoto Onuki
4209ea36b0 Make ThrottlingCursorLoader smarter
Now the class initially uses smaller timeout, and expand it when detecting
multiple changes in a short period.

This CL makes the UI look more responsive especially on the message list +
message view mode.  e.g. Starring on the message view will quickly be
reflected to the message list.

Bug 3024799
Bug 3027832

Change-Id: Ie2d44c3769d43e3fd0f54ee526556eb3bad5e288
2010-09-22 18:01:01 -07:00
Makoto Onuki
2dbb510657 Hide bottom buttons when message list enters selection mode
Hide the command buttons at the bottom of the message view when the message
list enters the selection mode.

Change-Id: Id825bb5183673e9def055b6480fa180beab51178
2010-09-22 18:00:21 -07:00
Makoto Onuki
c8fb75035f Implement latest selection mode behavior
On the message list,
- Longpress toggles selection.
- Tap opens message

Now it should be in line with gmail.

Change-Id: I1ce441a13fd9b41e3d7d10c2f2e4d43e580db708
2010-09-22 16:51:30 -07:00
Makoto Onuki
e069246d48 Make sure callback is still registered when calling wrappee
This caused callback methods getting run after onDestroy() problem.

Bug 2799534
Bug 3011802

Change-Id: Id505e328bbff096a9f7474c033443ff6663a5fdf
2010-09-22 15:39:02 -07:00
Makoto Onuki
58843f0dc3 Highlight selected message on message list
Also make sure the highlighted mailbox is always visible on the mailbox list.

MessageListFragment now just uses the default background color, which means
it no longer changes background color for unread messages or checked messages.
This should be re-implemented if necessary with the newer wireframe.

Change-Id: I9bfbe9f0711ea4ab56be27778b00298d3033123b
2010-09-22 14:44:23 -07:00
Marc Blank
793c6639ec am 9b5c615c: am deed4505: Merge "Increase EAS command timeout from 20 to 30 seconds" into gingerbread
Merge commit '9b5c615ceea0270878a5b89fc0a063eeb9ffdd3e'

* commit '9b5c615ceea0270878a5b89fc0a063eeb9ffdd3e':
  Increase EAS command timeout from 20 to 30 seconds
2010-09-22 14:41:29 -07:00
Andrew Stadler
0813c7051f resolved conflicts for merge of 0d9ed341 to master
Change-Id: I198f760ef1734cf4a64c875236a2352859dc1a72
2010-09-22 14:37:44 -07:00
Makoto Onuki
b4dacf2acf Don't show only special mailboxes on mailbox list
When a new account has just been set up and the app is still loading
mailboxes, keep the mailbox list empty and let ListFragment show
the progress icon, rather than showing "Combined Inbox" "All Starred" etc
without acutal inboxes, which looks like it's broken.

Change-Id: Ia3de4377b701f0033c5dc92f8b6b14651d4d8e1e
2010-09-22 14:03:06 -07:00
Marc Blank
deed4505e9 Merge "Increase EAS command timeout from 20 to 30 seconds" into gingerbread 2010-09-22 13:39:46 -07:00
Andy Stadler
ed824a07ae DO NOT MERGE Harden thumbnail creation
* Catch some errors earlier;  Log all errors.

Bug: 2905324
Backport from master: Icdf4ec881f404787a0621e606d7e611d5e50aab1

Change-Id: I817a770da2d158984476cfa2b10a5de6bc0b43f8
2010-09-22 13:24:46 -07:00
Andy Stadler
16657c9c20 Merge "Fix test failures" into gingerbread 2010-09-22 13:18:52 -07:00
Makoto Onuki
250ca15b88 Show MessageList with MessageView, rather than MailboxList
In message view mode, show MessageListFragment on the left pane.

TODO: Highlight opened message on message list
TODO: If the opened message is moved/deleted/starred/etc, update
message view
TODO: Collapsible left pane on portrait

Change-Id: I9b26f7291648da0e08bc526b79305ab65ce4d926
2010-09-22 13:13:59 -07:00
Makoto Onuki
353b75b04b Fix NPE -- check isCancelled in onPostExecute
Bug 3024665

Change-Id: I97c122a6c66a7d4245187961cb90ea874d0e305d
2010-09-22 13:12:13 -07:00
Makoto Onuki
1ef511dafd Merge "Ignore and log OOM during bitmap creation" 2010-09-22 13:10:22 -07:00