Commit Graph

2958 Commits

Author SHA1 Message Date
Makoto Onuki
f329665e10 Merge "Remove "Show all folders" menu item." 2011-06-07 14:18:05 -07:00
Makoto Onuki
f1097ba7e9 Merge "Revive message view specific menu options" 2011-06-07 14:17:18 -07:00
Makoto Onuki
ed14960af5 Merge "New method to see whether 1-pane or 2-pane UI..." 2011-06-07 14:06:57 -07:00
Makoto Onuki
c6bb2ab553 Revive message view specific menu options
Revive the delete, move, mark unread options

This was lost during the refactoring.

Bug 4483764

Change-Id: Ic8d79f926aac303b3ff7477019cd05c29d614627
2011-06-07 14:00:43 -07:00
Makoto Onuki
101f929b3c Remove "Show all folders" menu item.
Now the account spinner has this.

Change-Id: I95e771e512f6c70ea9ddd8084c29a2f99b4cd758
2011-06-07 13:50:44 -07:00
Makoto Onuki
347ae23b69 New method to see whether 1-pane or 2-pane UI...
should be used.

From now on, UiUtilities.useTwoPane() should be used to see which UI
should be used.

You can pass the DEBUG_PANE_MODE extra when launching Welcome
to force which UI mode to use.  (See the comment inside Welcome.)

Change-Id: Iefa3737e4979eb55f7986a9033ff9c6266d32f52
2011-06-07 13:41:42 -07:00
Todd Kennedy
da3d04ea31 Add ability to create headers in the mailbox list
Change-Id: I9d1054056db7b6ac993570adcc4adc4cc6699e9c
2011-06-07 12:01:35 -07:00
Makoto Onuki
ab40c98821 More work on fragment install/uninstall.
- Now we "uninstall" a fragment in Fragment.onDestroyView.
  i.e. a fragment transaction is actually executed.
- Maintain our own "about to be removed" fragment list to avoid
  double removal of a fragment.

Change-Id: I61328e0a09a7af00cbb0e6ba10a2d39c11b5c3dc
2011-06-07 11:13:37 -07:00
Makoto Onuki
cb530b4e91 Merge "Use the CursorWithExtras pattern for the message list." 2011-06-07 11:12:31 -07:00
Todd Kennedy
a09ac7d417 Implement account spinner recent list for one pane
This adds the default recent list and 'show all folders' to the one pane UI.

Change-Id: I877f854ff4f9c7440cbd40f2a9ded8aba4002656
2011-06-07 10:04:59 -07:00
Todd Kennedy
a757aaa055 Properly display spinner when necessary
Previously, we were deciding whether to show the spinner if the returned cursor
had more than 1 element. However, the cursor would _always_ have more than one
element because it contains a header in addition to the account information.

We now save away the number of accounts and the size of the recent list into the
cursor so we can use those counts to determine if the spinner should be shown.
Both of these counts are necessary as we want to show the spinner even if there
is only a single account as long as it has at least one recent mailbox.

Change-Id: If428c496a548a25f6b5cd7301ddb5c0d6876750c
2011-06-07 09:33:19 -07:00
Todd Kennedy
e392418840 Add recent mailboxes to the account spinner
The ability to change mailboxes using the spinner is currently only implemented
for the two-pane UI. one-pane implementation will come in a future CL.

Change-Id: If72e9d9d607508553c918f5523e748e8a481ff84
2011-06-07 08:48:37 -07:00
Makoto Onuki
63a206ea56 Merge "Manually restore list view state." 2011-06-06 17:14:04 -07:00
Makoto Onuki
41878c2813 Use the CursorWithExtras pattern for the message list.
This will make the message list a lot snappier.

We were using two different loaders for the message list; one is to load
the meta information and the other to load the actual message list.

Unify them using the CursorWithExtras pattern.

Change-Id: I02957bbca1b1fb74ca6eca14ad2535dfdbf03a5a
2011-06-06 16:34:03 -07:00
Makoto Onuki
345a61d0b9 Manually restore list view state.
Bug 4532222

Change-Id: I6f3394b7ffd55b32e1932e3e425cc0d0ae720e27
2011-06-06 16:13:16 -07:00
Todd Kennedy
47806a2244 Merge "Fix filtered query" 2011-06-06 15:11:29 -07:00
Todd Kennedy
3a1e874a9c Fix filtered query
we need to return 5, post filtered, results. previously, we were returning
5, pre filtered, results. Also add a test to catch this condition.

Change-Id: Id25f4bf79081c42a2012e0e51b36142120c83b20
2011-06-06 14:58:39 -07:00
Makoto Onuki
d42b3222fb Merge "Make message list behave nicely when it's in back stack" 2011-06-06 14:33:19 -07:00
Todd Kennedy
69461503fb Add "Accounts" header to the AB spinner
Change-Id: I35e4b7295db16db803ede084cf65fa3f2115f770
2011-06-06 14:11:09 -07:00
Makoto Onuki
296d7d3614 Make message list behave nicely when it's in back stack
- Hide CAB when it has no views.
- Stop pending tasks and refresh callbacks when it's paused.

Change-Id: Idaae9061237ce9f923c002d659e8e12407e4bad1
2011-06-06 10:39:05 -07:00
Todd Kennedy
f04c832f23 Add ability to track mailbox recency
Change-Id: I1bcc7928ea7065a5daa262b7cea7ee3e21981675
2011-06-06 10:30:01 -07:00
Todd Kennedy
7d9d3a220a Merge "Add new column to table creation method" 2011-06-03 16:48:54 -07:00
Todd Kennedy
2e112b2d12 Add new column to table creation method
Change-Id: I2c6fe80d06e54dbd10eba41f0a0aa758baffb1b0
2011-06-03 16:47:39 -07:00
Makoto Onuki
696fa78cb3 Don't enable FragmentManager logging.
Change-Id: Ie02ece80df7832c609cffb64a4b0626c6b8a77b5
2011-06-03 15:15:01 -07:00
Makoto Onuki
cc881b744b Remove the hidden newer/older buttons from 1-pane.
We'll implement swipe and this view is not used on 1-pane anyway.

Change-Id: Ib1d9b44dd530159377f3e5f883188832de30482f
2011-06-03 14:25:10 -07:00
Makoto Onuki
03b863d68e Merge "Implement 1-pane navigation." 2011-06-03 14:16:49 -07:00
Makoto Onuki
3d9b8e76f0 Implement 1-pane navigation.
- Now that fragment useage is simplified (e.g. no new fragment
creation for nested mailbox navigation), most of the fragment
operation code for 2-pane is reuseable for 1-pane as well,
so moeved it to the base class.

- Temporarily added "Show all folders" as a menu option on 1-pane.

- Added "opener account id/mailbox id" to the message view fragment.
They are not used by the fragment itself, but they're used
by the UI controller for the back navigation.  (And now the UI
controller doesn't maintain the current IDs by itself; rather
it gets them from the currently-active fragment.)

- Use async fragment transaction on 1-pane too, now that it always
gets the current state from the active fragment.

- Changed the timing when we install fragments from onAttachFragment
to fragments' onActivityCreated.  So now all installed fragments are
created.

TODO Now that all installed fragments are guaranteed to be created,
remove all special trealment for the fragment argument accessor.
(They were meant be safe to call before onCreate, but it's not
necessary any more.)

Change-Id: I0ed100c3f0b460835b164c0dc908ea483a4e46ee
2011-06-03 13:59:50 -07:00
Jorge Lugo
8f54b2f135 Merge "Fixed reply-all bug" 2011-06-03 10:23:35 -07:00
Jorge Lugo
15842c522e Fixed reply-all bug
Upon hitting reply all, all email addresses except that of the source message sender
go in the CC: field. Previously they all went in the TO: field. Updated 3 tests
in MessageComposeTests.java (testReplyAllAddresses1(), testReplyAllAddresses2(), and
testReplyAllAddresses3()) to reflect this new behavior.

Bug: 4534058
Change-Id: I852daebdd8843a45f685eecc67f757c87925bb6c
2011-06-03 10:16:05 -07:00
Todd Kennedy
4c4b088a21 Merge "Add "lastTouchedTime" column to the mailbox table" 2011-06-03 09:26:14 -07:00
Todd Kennedy
9dcb72e1ec Add "lastTouchedTime" column to the mailbox table
The last touched time will track the last time a message within that mailbox
was read. This will be used for the recent list.

Change-Id: I97a5fda52fd09b416fc3278a11a87b807da05c9c
2011-06-03 08:51:25 -07:00
Marc Blank
aaf12a5e75 Merge "Update searchMessages API" 2011-06-03 08:39:45 -07:00
Marc Blank
75a754660e Update searchMessages API
* Store various search parameters in a new parcelable class

Change-Id: Iadec6a803b1bf17d89cd401c3fca1cb0ad3340d4
2011-06-02 21:41:17 -07:00
Todd Kennedy
bc7cd16ec2 Fix NPE if message displayName is null
the spannable string builder assumes the given char sequence is non-null.
we now ensure that's always the case.

Change-Id: I12e7081e5348d797feab6ad17452b73a52feaf13
2011-06-02 15:27:48 -07:00
Todd Kennedy
cf772cc8ad update UX according to specs
Display the mailbox name as the widget title and the account name
as the secondary title.

Change-Id: Ibb36d4897e02b8cbc501eae9b27ee8381fe91e1a
2011-06-02 12:03:40 -07:00
Todd Kennedy
b9afe5760c Merge "Fix NPE accessing fragment arguments" 2011-06-02 12:02:50 -07:00
Todd Kennedy
8121876fef Merge "Add proper wording for "all accounts" picker item" 2011-06-02 11:56:05 -07:00
Todd Kennedy
f47255f6fc Fix NPE accessing fragment arguments
Change-Id: I417927568c2407f1d183f3d112d0761f57b5bb12
2011-06-02 11:55:24 -07:00
Todd Kennedy
b19516e248 Add proper wording for "all accounts" picker item
Per discussion w/ UX.

Change-Id: Ida4a11828d2bb157c4bc0c66f84d877013f0e4d7
2011-06-02 11:54:25 -07:00
Makoto Onuki
5dc07ad26c Merge "Rework on inbox lookup" 2011-06-02 11:01:09 -07:00
Todd Kennedy
2f5ee8e2d1 filter mailbox list for the widget
The mailbox list for widget configuration should only include two mailboxes --
1. an account's full inbox (both read & unread) and 2. an account's unread
inbox (similar to #1, but, only contains unread messages)

This also applies for the combined account view.

Change-Id: I5640fd8572d385703db04ca613f5b1f35f3952da
2011-06-02 10:36:29 -07:00
Makoto Onuki
f015cc00ed Rework on inbox lookup
- Moved MailboxFinder logic to UIControllerBase so it can be reused for 1-pane.
- Make sure MailboxFinder runs only while the activity is resumed.
  (we don't want to get callbacks when it's not, because we can't perform
  fragment transactions.)
- Make sure MailboxFinder is restarted if the activity gets re-created
  while it's still running.

Bug 4522010

Change-Id: I4486ecfa44dd700d28c424bc5eb7104d3043cf7d
2011-06-01 19:25:14 -07:00
Makoto Onuki
47d6f782de Merge "Switch to async fragment transaction for two-pane" 2011-06-01 19:16:15 -07:00
Makoto Onuki
61b0605a0b Merge "Change on the mailbox list item background." 2011-06-01 19:16:07 -07:00
Makoto Onuki
2912bed923 Merge "Remove unused method." 2011-06-01 18:41:18 -07:00
Makoto Onuki
3a8a1b451d Change on the mailbox list item background.
- The drawable for the active drop target background was static, and
  shared between items.  But StateListDrawable has inernal state and
  shouldn't be shared.

- Also make sure not to set the same background more than once.

For some reason, they will cause visal glitches when we switch to synchronous
fragment transaction.

Change-Id: I10fede2ad4e595f74d61768907b5b70fd5d4da21
2011-06-01 18:40:50 -07:00
Todd Kennedy
7f4cf3c46b Hook account/mailbox picker to widget
now when adding a widget to the desktop, you can pick the account
and mailbox.

Change-Id: Id3d2c21b349af58459304ac5a068402d67f4d0f7
2011-06-01 18:24:47 -07:00
Makoto Onuki
c7024f73ec Switch to async fragment transaction for two-pane
One-pane will follow too, but not soon.

Change-Id: Ie018f728273e9fa4a7e6cf3116a2a2afebcaecc5
2011-06-01 18:11:12 -07:00
Makoto Onuki
147e41d00a Remove unused method.
This should have been removed in I2c23651d.

Change-Id: I8dd90a0ba55e701225cdaf2e5b7c5fe92a417525
2011-06-01 17:56:16 -07:00
Todd Kennedy
60abc35a72 Merge "Loader query should use mailbox key" 2011-06-01 16:01:51 -07:00