Commit Graph

5726 Commits

Author SHA1 Message Date
Ben Komalo
85cfc9c0bd Fix b/4905749 using workaround
We suspect the underlying bug is b/4981556 but it is a framework issue
which needs time to fix. Some fragment state is not restored properly
when going through orientation change, so navigation shortly after that
will always crash.

Change-Id: Id6b8714c2aeac5f6bf09e82aea5459bb19d0054d
2011-06-30 11:47:39 -07:00
Ben Komalo
698aa92e6f Fix actionbar for message view
- shows the title of the message in the action bar (visuals not final -
need to extend the width and hide the account name)
- ensures that tapping up/back from a message view from a search result
list doesn't exit search
- ensures that tapping "app up" from a collapsible tablet view doesn't
exist the search unless the left pane is uncollapsed

Change-Id: I2b21a430d12148cf72237060c05312c7a23e2b3b
2011-06-29 19:46:58 -07:00
Makoto Onuki
8de5bda815 Close cursor properly.
Also, don't issue separate query()s for each recent mailbox.

Bug 4977956

Change-Id: I3ccd437a7efd5c3599c4a1952ba091a7b3b815bf
2011-06-29 19:21:14 -07:00
Makoto Onuki
5fbc5025f0 Merge "Remove opener IDs from message view fragment." 2011-06-29 17:58:37 -07:00
Marc Blank
6da2b981da Merge "Oops; fix NPE" 2011-06-29 17:54:53 -07:00
Marc Blank
569785b4f9 Oops; fix NPE
Bug: 4977755

Change-Id: I117eb3a061628ee572f37123631c3da301b5e50b
2011-06-29 17:50:23 -07:00
Makoto Onuki
918860b8e0 Remove opener IDs from message view fragment.
There are needed for the back navigation when a message
is opened from a deep link, but now that we always have a list context
they're not necessary.

Change-Id: Iba2d0b2f31f4539f6e872970b514574347e248c5
2011-06-29 17:32:45 -07:00
Makoto Onuki
87fce70d0f Merge "Newer/older + auto-advance for one-pane" 2011-06-29 17:31:32 -07:00
Makoto Onuki
22d1a794cd Newer/older + auto-advance for one-pane
- Moved MessageOrderManager code from 2-pabe to the base class.
- Most of the code is shared between 1-pane and 2-pane.

- Also fixed the bug where we re-created MessageOrderManager every time
the user taps newer/older, which was the reson the newer/older button
temporarily got disabled when you tapped them.
Before this CL we stopped MOM in uninstallMessageViewFragment, but now that
we don't reuse fragments this means we stops MOM when we remove the current
message view, and re-created a new one when a new message view is created.
Now we stop MOM when the right pane gets hidden (2pane) or when showing
the mailbox/message list (1pane).

- Also removed a now unused callback onMessageShown() from MessageViewFragment.
We used to update MOM on this event, but now we do this in
installMessageViweFramgment().

Bug 4575586

Change-Id: Idc4aba184f318e0c086afc29dcbe42364e2b51b3
2011-06-29 17:29:29 -07:00
Marc Blank
17f7ffae4c Merge "More Store cleanup" 2011-06-29 16:43:01 -07:00
Makoto Onuki
4b39d7ccff Fix for "Unknown uri: .../mailbox/-4
It was caused by the fact that we show the combined starred mailbox
on each account's mailbox list.

Beacuse of this, when you open the starred mailbox on non-combined view,
we pass a normal account ID + the combined starred mailbox ID to the
AccountsLoader, which then thinks that because the account ID is not
ACCOUNT_ID_COMBINED_VIEW the mailbox ID must be of a regular mailbox,
issues a query to get mailbox info, and crashes because the mailbox
is virtual.

- Also fixed the issue that we don't show message count on the account
spinner for combined mailboxes.

bug 4971181

Change-Id: Iaa13b362505b8babc7f7ea8a03ddf5494736dc2d
2011-06-29 16:30:43 -07:00
Ben Komalo
3dbab0e26d Allow widget to be resized to 2x2
This way it doesn't have to take the entire phone screen
Bug: 4902471

Change-Id: I5c7b957d895d3abb7d3f5b7c502b7e8e886755b4
2011-06-29 16:18:01 -07:00
Marc Blank
0b8e04c84d More Store cleanup
Change-Id: I8f542175b4468c7a320322a57bfdaf19a7320165
2011-06-29 15:22:05 -07:00
Marc Blank
aa46bc3919 Merge "Remove redundant and unused constants" 2011-06-29 14:48:08 -07:00
Marc Blank
6fea021e3d Remove redundant and unused constants
Change-Id: Ie8658f86737880e3127a0a2c3b7f0557dde98b29
2011-06-29 14:30:46 -07:00
Ben Komalo
29c89ad17a Just mark search mailbox as not visible
This way we don't have to explicitly filter it in all the different
places we do selections on mailboxes.

Note that I didn't create an upgrade path for this. The only people with
search mailboxes are probably developers right now, and worst case for
people who experimented, they will just get the search mailbox visible

Change-Id: I9a0bf6df9985418d467a7348ed99a36521641b89
2011-06-29 14:27:27 -07:00
Ben Komalo
659f60f734 Wire through logic for searched mailbox
- update hint based on the mailbox being searched
- ensure that we use the original searched mailbox as the mailbox to
search for subsequent search (i.e. a search while we're viewing search
results) and not the search mailbox

Change-Id: Ic8663272173ce386dcd13fdf0369e918fb895be8
2011-06-29 14:09:14 -07:00
Marc Blank
244d306ebb Remove more useless code
* Strike another blow for sanity!

Change-Id: Id95b441f9577abda66f04113793d6b1c60500ebe
2011-06-29 14:07:25 -07:00
Marc Blank
77160c8c08 Merge "Don't cache ImapFolders" 2011-06-29 13:34:44 -07:00
Marc Blank
2720a818d5 Don't cache ImapFolders
* ImapFolder is currently very unsafe for use by multiple threads,
  causing, among other things, the referenced bug
* Since ImapFolder is very lightweight, there's no particularly good
  reason to be caching them anyway
* Rename isOpenForTest to isOpen

Bug: 4972084
Change-Id: I2bf17b9cfc8549a222e991f3e59abfd00a4d3afd
2011-06-29 13:02:55 -07:00
Marc Blank
ea8034affa Merge "Clean up Store implementation" 2011-06-29 13:01:36 -07:00
Marc Blank
35b0e95ca7 Clean up Store implementation
* Remove unused argument from newInstance/constructor
* Create ServiceStore class, the superclass of ExchangeStore (and,
  eventually, all Stores, until they can go away completely)

Change-Id: Ic5237236c5349ecf006538c58b63c1efe8e4ea61
2011-06-29 12:50:43 -07:00
Ben Komalo
b859a3b61e Filter search mailboxes so they're not visible
Change-Id: I99edcb19ce9e320676dff55f219370730e74239b
2011-06-29 12:06:57 -07:00
Makoto Onuki
488308b354 Merge "Fix the "onPostExecute executed even when cancelled" issue" 2011-06-29 11:19:37 -07:00
Ben Komalo
5d811ecf18 Merge "Re-enable hw acceleration and fix webview cleanup" 2011-06-29 11:14:55 -07:00
Makoto Onuki
50d934360d Fix the "onPostExecute executed even when cancelled" issue
Renamed onPostExecute to onSuccess and made sure it won't called
if a task is cancelled in time.

Also removed isCancelled().  To implement it right we should make sure
that onPostExecute() isn't finished when setting mCancelled, but it's a bit
of a pain to implement right, and we don't really have to use it.

Change-Id: I3a0baf504506ffc4952a5553f7098a8415842fa3
2011-06-29 10:22:38 -07:00
Ben Komalo
a6e15b13ef Re-enable hw acceleration and fix webview cleanup
Bug: 4886133
Change-Id: Ib59e560a6e1ef3eecc15ff0073a3c0f34688835a
2011-06-29 09:55:32 -07:00
Makoto Onuki
4a893e60b4 Switch to EmailAsyncTask
Also remove the isCancelled test in onPostExecute, where it should
never return true.

Change-Id: Ica2b07db22d73769c2ead5f232f4890bd3bb87da
2011-06-29 09:50:52 -07:00
Makoto Onuki
6cf76d94c8 Merge "Fix one-pane navigation/UI bugs" 2011-06-28 17:50:07 -07:00
Ben Komalo
1f6acaf396 Hide footer when we hit the end of a search
Change-Id: Iec082a9f9560819c034f91706229b1efb7303ba2
2011-06-28 17:24:54 -07:00
Ben Komalo
6b256f1fa1 Wire through results count in search header.
Change-Id: I817236d9c3294acb25b62724cc8c99d47df7f354
2011-06-28 17:11:16 -07:00
Makoto Onuki
ecd9c93cfa Fix one-pane navigation/UI bugs
- Back from the starred mailbox now works.
- Combined view now has the "show all folders" in the spinner.
- Null-out the list context when opening the mailbox list.
- Properly restore the list context when popping from the back stack.
- Disable the account spinner dropdown on the mailbox list.
- Hide the little triangle thing at the right bottom corner of the spinner
  when it's not selectable.

Bug 4836064
Bug 4689313

Change-Id: I41d1b6c7024953407b260f5b4b63fbc366e538ca
2011-06-28 16:30:28 -07:00
Marc Blank
06421df25d Merge "Return total number of results from IMAP search" 2011-06-28 14:19:18 -07:00
Marc Blank
5a9c95f94e Return total number of results from IMAP search
Change-Id: I44eb83042774294aa5aaa8f45a46b82dd78b0141
2011-06-28 12:14:25 -07:00
Ben Komalo
2213a79c36 Merge "Prevent monkey crash on attachment load." 2011-06-28 11:32:07 -07:00
Marc Blank
c0a9fa9c68 Fix NPE
Bug: 4969186
Change-Id: I27fbdf7a496ee73caf36a90bf56b91c90133b3b7
2011-06-28 11:05:02 -07:00
Ben Komalo
efbb408dbb Prevent monkey crash on attachment load.
Bug: 4969655
Change-Id: Ie1cbeaab4b9335aa4b0c2c972647072df21fccec
2011-06-28 09:44:48 -07:00
Marc Blank
5d7ff8577d Synchronize access to mailbox type map
Bug: 4967543
Change-Id: I71380d0d2d5664cf92a9b698bfdad516eeb5c80f
2011-06-27 20:23:40 -07:00
Ben Komalo
8935f6d39e Merge "Show a search results header." 2011-06-27 20:02:44 -07:00
Ben Komalo
9b4f11a4ed Show a search results header.
The count will be wired in and shown in here.

Change-Id: I2f496dcd86d748ee1c17c8e819b65c61c098a8ba
2011-06-27 19:59:23 -07:00
Makoto Onuki
257c037bb5 Use DelayedOperations in ABC
Change-Id: Iadb4def22176cf28bc3a0b78f95b1c7cc9f52f69
2011-06-27 17:56:49 -07:00
Makoto Onuki
a08fd4c74d Merge "Introducing DelayedOperations" 2011-06-27 17:42:01 -07:00
Ben Komalo
f8acc29628 Merge "Introduce a SearchCursorLoader" 2011-06-27 17:32:25 -07:00
Makoto Onuki
6b968c1dce Introducing DelayedOperations
This helps post runnable to the handler and cancel pending runnables
at once.

It'll be used for delay-call methods that initiate a fragment transaction,
and cancel then in onSaveInstanceState().

Change-Id: Ib8bdb0e676e756854ab067a27e5e0f397219a4b4
2011-06-27 17:00:50 -07:00
Ben Komalo
37c8a70d64 Introduce a SearchCursorLoader
This loader will abstract away the waiting for the controller to cleanup
the existing contents of the search mailbox

After some additional, to-be-done plumbing, I'd like
Controller.searchMessages to return some results info (like # of results
at the least) so that the SearchCursor returned can relay that
information to the client (which can then do a lot more interesting
things at that point).

Change-Id: Ifcba0ddf7170c56dac9f3b44128988a5aa4ca887
2011-06-27 15:43:21 -07:00
Marc Blank
bc1fa23031 Merge "Clean up/simplify ExchangeUtils/ExchangeStore" 2011-06-27 14:27:25 -07:00
Makoto Onuki
d538d4bce1 2pane: Show/hide fragments *before* animation starts
To fix "IllegalStateException: Can not perform this action after
onSaveInstanceState".

Bug 4522010

Change-Id: I640fab0d51b02467f2f91d0d33091e1daac356fd
2011-06-27 14:10:11 -07:00
Makoto Onuki
569083fab3 Merge "New account spinner" 2011-06-27 13:22:41 -07:00
Makoto Onuki
4689cb7100 New account spinner
- Don't use the action bar spinner.
  Instead use a custom view to show the current account.
  (It's not a spinner; now we show the dropdown list by ourselves,
  which gives us more detailed control.)

- Also show the current mailbox name/unread count with the account name.

- Removed the mailbox info loader in ABC.
  Instead, now the AccountSelectorAdapter loader loads the current
  account/mailbox name, and the unread count as extras.

- Now ABC.Callback.onMailboxSelected passed an account ID as well
  as a mailbox ID.

- There's new code paths that can cause the "fragment transaction in
  onLoadFinished" exception.  We need to fix this properly, but
  for now we just use commitAllowingStateLoss().

Bug 4948352

Change-Id: I73bb8b7530f8328ca1c86382ac0a54086ad061d7
2011-06-27 13:19:27 -07:00
Marc Blank
66a47b8dac Clean up/simplify ExchangeUtils/ExchangeStore
* Rename ExchangeUtils to EmailServiceUtils
* Create calls for Exchange to use (eventually remove these)
* Get rid of lots of nonsense in ExchangeStore

Change-Id: Ic538cfe1de57eca24088ee1f590264283d12f511
2011-06-27 12:14:04 -07:00