History log of /packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0b69338a45faa422ccba8faf64c9816c55d33e4a 11-Aug-2014 Jin Cao <jinyan@google.com> [KBNav] two-pane landscape navigation polish

The system default navigation doesn't work quite as well
in landscape mode (e.g. focus on conversation view's reply,
hitting up goes to the mini-drawer instead of the message
header). This is partly because our overlay views are not
in a real list, thus we can't take advantage of the framework's
navigation support for listviews.

I decided to roll my own navigation entirely for
conversation view and manually focus/scroll.

This CL also includes some polishes for interactions in landscape
mode between drawer, TL, and CV panes.

b/16636060

Change-Id: Id1de01439a118702756d52f6a8b3f02395a0f932
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d23f6d1cd1dd8248cba755bf91c5355a31fbb885 09-Aug-2014 Jin Cao <jinyan@google.com> [KBNav] Support peeking the focused conversation

On up/down navigation in two-pane landscape mode
we allow for peeking the conversation without
marking it as unread. Only on right/enter will
the conversation be marked as read.

TODO: mCurrentConversationJustPeeking isn't fully
implemented yet, so navigating with the keyboard
will still mark the conv as read.

b/16636060

Change-Id: Id6dbf163d1152c1f1c48836501489aa51478c155
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9a11011dc42ea3c8934c90455b17bd77a0a5ee17 08-Aug-2014 James Lemieux <jplemieux@google.com> Add popup and push down animations to snackbar.

Change-Id: Iaed07d606b2c5973ddcc4aea20c6a61f2fb1adb2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
52882ff08fe9420fe2dbb3f681545a330222e9c8 27-Jul-2014 Andrew Sapperstein <asapperstein@google.com> switch to appcompat. b/16664350

Currently only for MailActivity, ComposeActivity,
and FolderSelectionActivity.

Any activity that inherits from ActionBarActivity must
use an Appcompat-derived style. Three styles currently
exist: UnifiedEmail.Appcompat, UnifiedEmail.Appcompat.Toolbar,
and ShortcutWidgetTheme are all based on appcompat.

go/appcompat-material-doc contains the full migration guide.

The fast version is:
All MenuItem-related work that relates to actions must use
the MenuItemCompat-equivalent.
Any theming should use the appcompat versions which don't require
a namespace prefix. For instance, use actionBarStyle instead of
android:actionBarStyle.

There are a few missing styles on views that can't use appcompat versions.
Those still use style overrides for v21 changes. All others use appcompat versions.

A few methods on activity should now use the support equivalents:
getSupportActionBar()
supportInvalidateOptionsMenu()
startSupportActionMode()

Change-Id: Ic6f5964f4115ab4bde49c19df5fe49c9086df965
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
53de448d6c67e56df4e3bcefb3e2d84c810e2e89 29-Jul-2014 Andrew Sapperstein <asapperstein@google.com> Revert "Revert "Megadrawer" until b/16637856 is fixed."

Want this to be ready when the bug is fixed.

This reverts commit c53c887101aa90b5024af635823023aa801e075f.

Change-Id: Ice73a0f48cbe1e949fde3db3719ee86995778ebb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fdc76bfe9457854495638cc4d4e168bf52fcb24b 04-Aug-2014 Jin Cao <jinyan@google.com> Merge "Support "deleting" in outbox" into ub-gmail-ur14-dev
512821c11d89d49908f3cfdee0b582601f500f3d 31-May-2014 Jin Cao <jinyan@google.com> Support "deleting" in outbox

- Allow only failed items in Outbox to be swiped away/deleted.
- Same applies for multi-selection.
- "Deleting" in Outbox means remove the outbox label from the
failed message and applying the drafts label. This needs to
be implemented by both Gmail and Email providers.
- Added new ConversationOperation for this new action.

b/4080109

Change-Id: Ia9c8e386c7c65693f72fda85a49cb6a1b7d1fec1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f58e4c3c942033fce12b5f75f9e4d9e708c9ea6a 10-Jul-2014 Andy Huang <ath@google.com> mini-drawer. new tablet UI.

New MiniDrawerView class for a minimized drawer UI with shortcuts to the
main drawer logic to switch accounts and folders. The "drawer" is now
always visible except in portrait conversation view.

Can't easily use an actual DrawerLayout because:
-drawers usually occlude other views, they don't push
-we have that omnipresent 'mini' version
-we want custom control over dragging to trigger a fancy animation (not
just edge swipe!)
(I'll revisit this later.)

Even ActionBarDrawerToggle alone can't be used w/o DrawerLayout, so for
now, all of this drawer logic (dragging not yet implemented) is from
scratch.

TwoPaneLayout no longer "shifts" its panes to transition from TL->CV in
landscape; the panes are now fixed in position. Not yet implemented is a
'conversation-visible-but-not-marked-read' state necessary to avoid the
initial gray expanse there right now.

Bug: 16147175
Change-Id: I021aaff15afebb76db6722265e2a592213674405
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
479753fdbb4d71558c4d2c8d9cc8c7eb803a7837 31-Jul-2014 Jin Cao <jinyan@google.com> Properly check destructive action on folder

Don't assume folders with capability to accept messages
are the same with folders with capability to remove messages.

b/16639318

Change-Id: I68c124249b7437ac5615a2494d88260c970416f2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
550f15f6ab58abe8dca08ac8a0032b8e8930093d 31-Jul-2014 Paul Westbrook <pwestbro@google.com> Quick fix for bug 16683279

Don't call wasLatestWelcomeTourShownOnDeviceForAllAccounts() from the UI
thread

We should audit all places that creates an account key to make sure that
it doesn't happen on the UI thread

Bug: 16683279
Change-Id: Ie48aee597a59ba3383c743fb4c5f46538625bb0e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
29bc32547fcfb914f8f666f90343067f5d9b8e4d 30-Jul-2014 James Lemieux <jplemieux@google.com> Quantify Snackbars (aka Undo bars)

b/15991901

This CL addresses the major layout and styling changes introduced
by the Material theming. Note that layout is influenced by all of
the following factors:

1) RTL or LTR
2) Action text may exist or not
3) Description text may wrap or not
4) One-pane vs. Two-pane

Change-Id: Ie69bca2cef39666a90c9a43d6b4b030c64e664c8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f318bc3cb806774a07421a413a918aa6afb8792f 24-Jul-2014 Régis Décamps <regisd@google.com> Welcome tour: Shortcut to discard the welcome tour

Add a method that indicates wether the welcome tour was shown on
this device. Hence, the AbstractActivityController can avoid calling
the WelcomeTourStateLoader machinery.

b/15705426

Change-Id: Iacbb94f46a9de4bf7f1700ef5c244d5a50007810
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c53c887101aa90b5024af635823023aa801e075f 29-Jul-2014 Andrew Sapperstein <asapperstein@google.com> Revert "Megadrawer" until b/16637856 is fixed.

This reverts commit d4bb2af4a545493b88e900be5262329c715dd38a.

Change-Id: I3c8860d30cde8b70c135c2ef457f5f601b45b8b5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d4bb2af4a545493b88e900be5262329c715dd38a 28-Jul-2014 Tony Mantler <nicoya@google.com> Megadrawer

b/16458862

Change-Id: I476ee21209e8108fc77e3d265326347a53f13ef5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3e95fe9af0d1f8d7557d6b8e9daf4cf08aade140 26-Jul-2014 Andy Huang <ath@google.com> wire up Settings/H&F on large tablets

Didn't ever work; it lived in the overflow before.

Bug: 16550091
Change-Id: Iabbb6f928f8f005e372f446093d85f13fae2222b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2d86d1123c4183024222dd2eb60f7cbdc24953fd 25-Jul-2014 Andrew Sapperstein <asapperstein@google.com> Action bar styling.

Restores back button and drawer on old versions. b/16510684

b/16167419

Change-Id: I6b48a2d350330403ebf72304d74be957b6de7cb4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3047a9f03d9febaf2aba1e5ea0827e0b740d1ab2 23-Jul-2014 Andrew Sapperstein <asapperstein@google.com> stable action items

b/16167419

Change-Id: I72c7c44f5728563da1fcbd39daa31ccd41845d8a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
944ef3b09d15d28f13cf63e3410850e246b1d54f 17-Jul-2014 Greg Bullock <gregbullock@google.com> Extract AccountLoadCallbacks so that it can be re-used.

Change-Id: I24a50abf78b1a44269914126a86813c3e8b97d4e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1a1e9754cce66296ae730f2c483f55fcf1a24359 18-Jul-2014 James Lemieux <jplemieux@google.com> Add larger compose assets.
Hide compose button everywhere but Thread List and
Search Results.

Change-Id: I7c71748fc7a8a209969a5ee4112017faa940d682
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5d79a913c8289de4ffc1b662b9bea967a7e65b0d 16-Jul-2014 James Lemieux <jplemieux@google.com> Add the floating Action Bar to Thread List.

This replaces the menu option for composing new mail.
The old "compose mail" asset cannot yet be removed since it
is referenced from the widget.

Change-Id: Icaabc2f98f496dda1690337a38973781dc8745ed
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
93e6457cf4391f1aff025808b536135b5bdbfe39 11-Jul-2014 Tony Mantler <nicoya@google.com> Remove AutoAdvance dialog triggered from conversation list

b/16208703

Change-Id: Ie4c9f3b5f5841516d842d9dfd3f31229641fa5e0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
54022ee4c98f02401ca567e643f24ed42aebe203 07-Jul-2014 Tony Mantler <nicoya@google.com> Add Account/Folder change observer to AccountController interface

b/16131478

Change-Id: I4fa9fe3fdb4edcf1e2d4d551d5d93f6301bc1eae
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2f7a1c0f4ad2f9744ce3438ef36fed9d9a4fcb91 01-Jul-2014 Milos Stankovic <miloss@google.com> Refactoring Welcome tour activity.

This is mostly cleanup in UnifiedMail. Most of the changes are in UnifiedEmail.

b/15705426

Change-Id: Ifb1980d4e3e77f2dc7c9f70339552e49cf500033
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f9ff0f21753715cc435773d036e7cf5caa58105b 01-Jul-2014 Paul Westbrook <pwestbro@google.com> Merge "Fix action bar icon" into ub-mail-master
4def3bfdadbab0ba96f713ef9878ce1028672637 01-Jul-2014 Paul Westbrook <pwestbro@google.com> Fix action bar icon

The action bar app icon is now suppressed both on pre-L and
in L

Change-Id: Ifcf416505622ae72f260049c0b1e4a1e972e5431
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2f9cd070379b237124cbff5225c08893d2b7a976 01-Jul-2014 Paul Westbrook <pwestbro@google.com> Fix crash when setting auto-advance settings

The contract for the auto advance settings is a Integer, and not a
string

Change-Id: I09285433c3d20de814e2fc066c8b7ebe062acda9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
62e1496cb42c21b5348ebe795cd2fabd7574d3e1 23-Jun-2014 Régis Décamps <regisd@google.com> Refactor how the warm welcome is triggered.

- The welcome tour is an independent activity. AbstractActivityController doesn't need a specific ViewMode (this should also fix b/15747390) and doesn't implement WelcomeTourCompletionListener anymore.
- MailActivity returns the warm welcome loader callback.
- The MailActivityEmail, FolderSelectionActivity don't implement onWelcomeTourRequested anymore.
- ControllableActivty implements WelcomeTourListener.
- OnePaneController and TwoPaneController transition to the inbox as they used to.
- WelcomeTourListener renamed onWelcomeTourComplete to onWelcomeTourFinished and returns a status (completed, discarded, or not shown).

b/15705426

Change-Id: I9af1f7c2ee5a5819d5df2d860547a2668f1d5cf6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a57da3c151ae174bc8621af79f3f09392ed90953 10-Jun-2014 Ray Chen <raychen@google.com> Implement support for help library
b/12068507

Primary changes:

* Merge help and feedback as requested by the new guideline
* Determine help context by the view mode (list or conversation)

Change-Id: I6d9d7cc56063e7eedfe6db18c2c363e9b4d07cef
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
004b46f0fe9945d349c7a11126ed6aab0095c272 23-Jun-2014 Régis Décamps <regisd@google.com> Fix a clash in loader id between WelcomeTourLoader and FolderLoads.

Reaffect the IDs so that they are in ascending order.

b/15705426

Change-Id: I74280aef7ed4d08fadbec7ca646f2332846c100d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
de21e898901a86acdcf62ea46d358184bfd063b3 19-Jun-2014 Régis Décamps <regisd@google.com> Move the Loader id of the Warm welcome pref.

Relocate the id of the Loader that determines whether the warm welcome
should be dispayed.

Change-Id: I28c6264c29f75d75d786a614e170715761ba9fdf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ede2e52e725abc625ae963f979639ff8ecc40cf5 30-May-2014 Greg Bullock <gregbullock@google.com> Changes to support displaying a welcome tour.

Change-Id: Ice10fd8d629a9f4aebe5cfb7cb94bc1eb5ebaaeb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e23c1568f58a339e2f820afdef470739f66985d6 29-May-2014 Jin Cao <jinyan@google.com> am 9695e004: Properly check for empty Uri

* commit '9695e0046f79bd2d7166a411d6feff4cf0fb2539':
Properly check for empty Uri
9695e0046f79bd2d7166a411d6feff4cf0fb2539 29-May-2014 Jin Cao <jinyan@google.com> Properly check for empty Uri

Uri == Uri.empty doesn't work. Changed all uses of Uri == Uri.empty
to Uri.empty.equals(Uri). Refactored the function into a helper function
inside Folder to check if a given folder is top level.

b/14987117

Change-Id: I22b7a0bf7fbfcbd14936e5ff9b428fd3f4c15e60
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ec6e2516037e7172202e208b2015d7684a78eddb 22-May-2014 Tony Mantler <nicoya@google.com> Disambiguate settings intents

b/13325901

Change-Id: Id85ba4594c89e541367aa035d4a31f5ab67d6545
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1a864cce6321f46031d6cd43e205278d0f219f92 21-May-2014 Jin Cao <jinyan@google.com> Support for blowing up cache on subsequent search

Add support to get fresh results every single time search is called
even when the query is exactly the same.

The current behavior is that it destroys the old data once the query
changes. This normally works fine because when we switch labels the
query will be different while scrolling down in the same label ensures
that we don't lose the old data. However, for ACTION_SEARCH, the
underlying provider have no way of knowing whether the action is a
fresh search or simply the user loading more messages. Adding the
additional query parameter used by search will allow us to
differentiate between the two cases and properly destroy the old data.

b/11031046

Change-Id: I7fa244af8c13a6a39d68c846fa4a0db605b9b74a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f21787ad2ac7d68e3620ffa3ae6e8e7fadf0bd54 02-May-2014 Andy Huang <ath@google.com> allow the user to recover from stuck-cursor issues

Treat swipe-refresh as a trigger to clear stale adapter state that may
prevent normal cursor refresh from happening. While it's important to
delay cursor refresh until animations are complete (to prevent jank),
there was previously no way to get out of buggy states where the adapter
though an animation was happening but never did.

Bug: 14297883
Change-Id: I0d279770246e93c939b589cd0ac5eba76358b47e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5db676608eb00d3b1830344bf979a1bb5c093b8c 06-May-2014 Andy Huang <ath@google.com> Revert "Commit DestructiveActions immediately. b/9904716."

This reverts commit 1165d291b938f406631768795c0dbee58898315e.

This was causing the thread list to not update after an in-conversation
delete/archive on tablets.

Bug: 14297883
Change-Id: I55e2969e842e108507b7ee128ea53f462316220d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
779dd6012a6c5b4d71255085059e57d94eab1a3f 23-Apr-2014 Jin Cao <jinyan@google.com> Logging for cold start and search

Added timing logging for cold start into a list view and search.

b/13628866

Change-Id: I9d3214ccb8ba259354c087ab89f447d23ee02e89
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
30c881a7d31203fc7b233abf4a0c1413de4cd517 08-Apr-2014 Jin Cao <jinyan@google.com> DO NOT MERGE Added support for arbitrary post-undo actions

- Added interface to add arbitrary callbacks after a specific undo
action occurred. This is useful if we want to do some specific UI
modification after an undo, show the user more information, etc.
- This callback is also added to DestructiveAction so all destructive
actions can run custom callback when it's undone.
- Used the interface to add show the removed conversation when auto
advance is active.
- Removed references of inLoaderCallbacks in AbstractActivityController
where it's not being used.

Demo video here:
https://drive.google.com/a/google.com/file/d/0ByX6TliQlkICSjZub0ZyaWtxS0pmZk1kbk5WQ2V5SGlMTWxF/edit?usp=sharing

b/6769311

Change-Id: I00cc66421315091cc934e0f63188ff693b0a84b8
(cherry picked from commit f55863727de2bb15f1906944bbc88c82703a3aff)
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c96efcc4a2f65b11a9b2057320ca828ee80f32ff 10-Apr-2014 Andy Huang <ath@google.com> DO NOT MERGE "waiting for sync" -> "getting your messages"

Bug: 12421412
Change-Id: I5ee3d66add25ebc75420c3433f47cb44b85e3275
(cherry picked from commit 5d674a741d78f7771299c426a4bfe0d319cc0f2b)
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5bb4d053519be10324752f323bcf73f13b9a2604 01-Apr-2014 Andrew Sapperstein <asapperstein@google.com> Allowing overriding conversation list load limit.

b/7280077

One issue we saw was that if the conversation was not
in the initial 50 conversations, we would get punted
out of the conversation list. Now we have an additional
extra in ACTION_VIEW intents that allow ignoring the
limit for the first load of the ConversationCursor.

Change-Id: I737c45e122df4dda7c63794ddc7036be61d5ebd4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1165d291b938f406631768795c0dbee58898315e 26-Mar-2014 Andrew Sapperstein <asapperstein@google.com> Commit DestructiveActions immediately. b/9904716.

For whatever reason, we have this weird two stage
commit of DestructiveActions. We call
performAndSetNextAction twice every time we wanted
to commit. This results in the next destructive action
trying to perform the action again, but that doesn't
matter because we debounce the actions so they're only
performed once.

Unfortunately, in two pane mode, when we transition back
to the conversation list, we only called performAndSetNextAction
once. As a result, the first call tried to re-apply the old
version. But it was never called a second time so we never
committed the action. Worse, the action would sit there waiting
for another action and then get applied.

Now, if we're in tablet, we set the next action so that
the single call will commit when the animation completes.

A proper fix probably involved rewriting all of this
logic and is not something I want to touch this late
in the release.

Change-Id: Iaa7b4c7d21837b93916ada5b6c9b49b13361be08
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f8c59b0198bd3230ef669c5e258b86443e7ed682 20-Mar-2014 Andy Huang <ath@google.com> add analytics for clicks on drawer footer items

Also start segmenting menu_item clicks with useful data about the
click's context (like view mode, compose).

Bug: 11061485
Change-Id: I132117921bb45f81d2cd7d8433ab72543c9723fd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
61f26c2d1c1d3735cf883b58fe7e45550bb1a54c 14-Mar-2014 Andy Huang <ath@google.com> add floaty footer to the drawer

* settings now moved to drawer
* swapped out footer assets to match sectioned inbox icons
(TODO: even newer assets)
* tweaked footer misc to match mocks
* split out the drawer list's scrollbars a la conversation view
* disable floaty footer on short screens (e.g. landscape phone)
* move AAC's drawer-related APIs from Account Controller into
DrawerController and expose more, like raw access to drawer state
* drawer is now white, footer is gray (expansive tablet unchanged)
* align footer items with sectioned inbox items
* only activate the footer items after closing the drawer (smoother,
better fit for Feedback)

TODO: tweak animations, especially when scrolled near the bottom

Bug: 11061485
Change-Id: I3e70d994934c846061efbfb8d118604a965d344f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
10fcd645f703799326da326630b663df69f91508 03-Mar-2014 James Lemieux <jplemieux@google.com> Move Help & feedback to Nav drawer of Email.

b/11061485

Gmail remains unchanged due to this checkin.

HELP and SEND FEEDBACK are now the two bottom-most drawer
items in the Navigation drawer of the Email application
when it is present or in the overflow menu when it is not
present.

SEND FEEDBACK still behaves as always.

HELP has been redesigned so that it displays the help
content in a local webview rather than using an external
browser in the Email application.

Change-Id: If1bdba26ac2caca79c81205a409c67659cd49653
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
26a20758413f0f8629ea71a0943304e3ae740165 01-Mar-2014 Tony Mantler <nicoya@google.com> Get rid of Account#name

b/13249115

Change-Id: I5478b139cba9e3e37924c3af1c7a4f818a803fa3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1bf20e01767d6864ef8ed196195cf7771dc2c45c 26-Feb-2014 Paul Westbrook <pwestbro@google.com> Disable disable some PII logging

Bug: 13206685
Change-Id: I6f4f92a478530876c2efeb176c9ea0b238512cce
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e764cfd130c4f92ae823fd1f361ab70439e8ec95 26-Feb-2014 Andy Huang <ath@google.com> small refactor

wet -> dry

Change-Id: Iccb44b3156d5a38d6f3d0ddfee5b8d21f00c98cd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
371a71c7f41155a83526e4745c993585c236b9d7 19-Feb-2014 Martin Hibdon <mhibdon@google.com> Make drawer available in Search and ConversationView

b/8737446
This is more complicated to do correctly than it seems like
it should be: When we are viewing search results, there is
actually a separate activity instance on top of the main
conversation list activity. This is true for both one
and two pane layouts.
So now, when we launch the search activity, we do it with
startActivityForResult. If the result is set upon return,
then the parent activity will know to navigate to a different
folder or account.

Change-Id: I5b780c4ce5bb0a1e55364cc4df280346900c5df5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
773f2e6e6994f38bf7d2679f2412d2f14f22c424 05-Feb-2014 Andrew Sapperstein <asapperstein@google.com> Use MergedAdapter in FolderListFragment.

Instead of using one adapter that contained the accounts
and the folders, the adapter now contains two sub-adapters,
and AccountsAdapter and a FolderAdapter. Functionality
should be unchanged.

Change-Id: I18c945cdcf9519549ab3c2886be033b398af086c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3531d7ee9b36c9f9dd909be79ab899dd60cd71ae 28-Jan-2014 James Lemieux <jplemieux@google.com> Hardware Search button doesn't work

b/11689324

In Jelly Bean, the hardware button has been redirected to always open Google Now by default. But
Email does run on Ice Cream Sandwich and on that platform the hardware search button should invoke
a local search of Email. The issue at play here was that IMAP accounts weren't reporting themselves
as being capable of a remote server search, even though they are in practice. Adjusting this
capability fixes the issue.

Change-Id: I0027d9641564dec72d7f9dfbc66f18cb7f675499
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a9a9b9f5fe129cc8c60c30757664db849dcde672 13-Jan-2014 Tony Mantler <nicoya@google.com> Revert "Fix swapped assistive text b/9860465"

Per b/12383854

This reverts commit c6691fec4ff571a3d5a9e9c4c41165bb404ab9bd.

Change-Id: If562ef791d03456ff08fe3f576a0bbee093dc02a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2a4be2459962700e1a38ba897de5d2f5913412f5 12-Dec-2013 Tony Mantler <nicoya@google.com> Convert FolderSelectionDialog to a DialogFragment

Also clean it up to use loaders

b/11538664

Change-Id: I5810f0c4423c0c30d9785723672b3535eebcf998
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
edd6c1a2807d2ade930dfd4622707298dc470d64 08-Oct-2013 Tony Mantler <nicoya@google.com> ConversationInfo is now always populated

Get rid of conditionals for when it isn't, and associated duplicated fields

b/11120430

Change-Id: I63d8ef5d190b9a4d42e3029bb4a45004b5543de5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bd09150070b1aa25ebdd9af0a29e8bf9fbbf7af8 16-Sep-2013 Tony Mantler <nicoya@google.com> Keep ViewMode up to date in MailActionBarView by just referencing the ViewMode object

b/10750740

Change-Id: I8ae5dbd37abcbdba054f20f20e41ee42a54220eb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e78c40f7ea2159df17aec33ecc2599dfb866c3cd 11-Oct-2013 Martin Hibdon <mhibdon@google.com> Handle it if a cursor has zero rows

b/11174975
This has a fallback to handle a null cursor, but
not an empty one. Now we handle empty as well.

Change-Id: I84662e307a723b037527d8ca9c3ec8dc2ce43ee6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
79b1156803585952a4851221dc9fa9974e606433 10-Oct-2013 Tony Mantler <nicoya@google.com> Clean up use of Account.name where an email address is expected

b/11066314

Change-Id: I65d3c92d6a50ed918a7039fba10ed4dff6a422f7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9bc947a8d0f99405778ede016953fbe6db9db9c1 05-Sep-2013 Scott Kennedy <skennedy@google.com> Merge "Allow going back to search results" into jb-ub-mail-ur10
2551bcfb449a902a99a593390e90598d6e5f9fbc 05-Sep-2013 Scott Kennedy <skennedy@google.com> Merge "Remember our scroll position when we return to conv list" into jb-ub-mail-ur10
a158ac8a41239300a2f50b38ed17167aeef4ff4b 04-Sep-2013 Scott Kennedy <skennedy@google.com> Allow going back to search results

If you went from search results to conversation view, then hit the
back button, we were taking you out of search results to the inbox,
because we didn't know you had search results.

Now, we're tracking this (through the use of a folder type), so we
take you where you should go.

Bug: 10591438
Change-Id: I06c38c84f62016a6b3f52f44d78c3b451e4c6a29
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
535af3345aa5caab4e2b47dd3b1539a301dbab1d 04-Sep-2013 Alice Yang <alice@google.com> Merge "Revert "Revert "Exit cab mode when we change folders""" into jb-ub-mail-ur10
bd698cd0f7689615bc53296342173c4817a0fb21 04-Sep-2013 Alice Yang <alice@google.com> Merge "Revert "Revert "Prevent an NPE""" into jb-ub-mail-ur10
03f1239aec39f8e3e3ade0e8c78df5836d5f4fc2 04-Sep-2013 Alice Yang <alice@google.com> Merge "Revert "Revert "Fix hierarchical folders""" into jb-ub-mail-ur10
7dd0e1cec391fc2562795d6e6d9fc91ab36ca647 04-Sep-2013 Alice Yang <alice@google.com> Revert "Revert "Exit cab mode when we change folders""

This reverts commit c06821c54ed61b1efd4a7d878d03956023deef5c.

Change-Id: Ib8c2858498553690f5a6de2c41065bf4766a1c44
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5ac10036fd45cd2a6da32abd02e942617edec50d 04-Sep-2013 Alice Yang <alice@google.com> Revert "Revert "Prevent an NPE""

This reverts commit 40197db4f04b759bbee976f83a7b32e559f45292.

Change-Id: If0c53c84fbdf6a54552f189752ab5bd4d8e8d8cf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ebeef1babe39de2c1d97429a93ea956c655cd377 04-Sep-2013 Alice Yang <alice@google.com> Revert "Revert "Fix hierarchical folders""

This reverts commit 6e604d33ee0aab10a72c836af6e83ace315f4b79.

Change-Id: I8eb30a3b38919e0efb694fc571b166a89258f517
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f33d7d469f861f8ebbe108c4ef90ef3fb348f224 04-Sep-2013 Andrew Sapperstein <asapperstein@google.com> Delete CAN_HOLD_MAIL folder capability.

b/9623931. It was just unnecessary since all
folders have to be able to hold mail.

Change-Id: I8207553aeb378723f7c63cda0e51fc9314a52f30
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b09b7cda41b1cafce57d52707f8e33823160aafd 03-Sep-2013 Alice Yang <alice@google.com> Merge "Revert "Fix hierarchical folders"" into jb-ub-mail-ur10
784f9e928f0b1e38f6cc94d7f201258ef573f40b 03-Sep-2013 Alice Yang <alice@google.com> Merge "Revert "Exit cab mode when we change folders"" into jb-ub-mail-ur10
c06821c54ed61b1efd4a7d878d03956023deef5c 03-Sep-2013 Alice Yang <alice@google.com> Revert "Exit cab mode when we change folders"

Another one that depends on the hierarchical folders change

This reverts commit d2a0c393d8e3ecce86e4ca0475165bec7464bd06.

Change-Id: Idfef27b799084a6dc764201b73c3fb18c92ce14a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b291365172b85c3037fa10fe27060a44f4b44162 03-Sep-2013 Alice Yang <alice@google.com> Merge "Revert "Prevent an NPE"" into jb-ub-mail-ur10
6e604d33ee0aab10a72c836af6e83ace315f4b79 03-Sep-2013 Alice Yang <alice@google.com> Revert "Fix hierarchical folders"

Temporarily so we can take TOT UR10

This reverts commit ad41814e704f0e7575472e4e7b60dfaf68b2f3b1.

Change-Id: I70f7b3b424c3da3785181c673c7c4f80737892aa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
40197db4f04b759bbee976f83a7b32e559f45292 03-Sep-2013 Alice Yang <alice@google.com> Revert "Prevent an NPE"

This reverts commit a776c98e21dd04dabffcb80ae1293aae505e09dd.

Change-Id: I053eb768abf440eb4ea51c32a664287fa0fb1e9e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f77806ed36ab49861a5ea13a3ab34e5a3a21c022 30-Aug-2013 Scott Kennedy <skennedy@google.com> Remember our scroll position when we return to conv list

Do this manually until we have a real backstack.

Bug: 10533759
Change-Id: Ia97950837aa060d374e0a015eb1ff5db1cc3392d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
10c99efe431335ce8db9924c3dcb0f977f3c63f3 29-Aug-2013 Scott Kennedy <skennedy@google.com> Always show the burger when the drawer is not closed

In nested folders, we normally show an up icon, but if the user is
dragging the drawer, or the drawer is open, we want to show the
burger.

Bug: 9970510
Change-Id: Ice49461c771e9a49c71f1ca2443267c523079e8b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d2a0c393d8e3ecce86e4ca0475165bec7464bd06 29-Aug-2013 Scott Kennedy <skennedy@google.com> Exit cab mode when we change folders

We were previously only doing this on two pane.

The problem with one pane is that we call onFolderChanged() when we
come back from conversation view, so we need to ensure we only exit
CAB mode if the folder has actually changed.

Bug: 9611402
Change-Id: I033d9af9e5bfff43075a5e3ed49942621b44a7c7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a776c98e21dd04dabffcb80ae1293aae505e09dd 29-Aug-2013 Scott Kennedy <skennedy@google.com> Prevent an NPE

If we don't have a folder, just go back to the inbox.

Bug: 10545072
Change-Id: Id665b9c5013242b16d36791ade10800b7304167f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
32ddb84f2d4f53bfc4b53656461068c0c69d6325 29-Aug-2013 Scott Kennedy <skennedy@google.com> Fix a couple ad bugs

1. Show a new ad when we leave the conversation list and return
2. Do not show a new ad immediately after dismissing an ad
3. Eliminate some GCs and logspam
4. Don't send up a "shown" operation on rotation.

Bug: 10499269
Bug: 10531721
Change-Id: I7e366bd2f1bde5f50764cc3240ac0870a4eda49f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ad41814e704f0e7575472e4e7b60dfaf68b2f3b1 11-Jul-2013 Scott Kennedy <skennedy@google.com> Fix hierarchical folders

Stop adding stuff to the back stack, because we never remove it.

Remove some unused code related to hierarchical folders.

This allows nested folders to work properly.

Bug: 9762055
Bug: 9694899
Bug: 9565828
Change-Id: I8ba2e96e6b478dd73e11fdcaf2c02643f1370e57
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
750a3eae65447fe90560b2698a57004c03aa4754 23-Aug-2013 Andy Huang <ath@google.com> Merge "log notifications" into jb-ub-mail-ur10
f45e0e7f65eb421fc5c2acf7bb76a714e12dc68b 23-Aug-2013 Scott Kennedy <skennedy@google.com> Make the right edge more performant

Bug: 9177552
Change-Id: I4250825bb658209166744ad1cb0455d4ac81da34
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4fe0af81874976a1995191321e35c844b2229811 21-Aug-2013 Andy Huang <ath@google.com> log notifications

Also fix a long-standing issue that caused notification intents to never
get updated during development (we weren't setting FLAG_UPDATE_CURRENT).
We can remove the version tag from the intent data URI later.

Log reply/reply-all setting.

Bug: 9861033
Change-Id: I49b2ab529de4167d1c8b42a8b053bcc2b9f65a23
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1591414ed6dc829852edd219c39ae430314ff538 22-Aug-2013 Scott Kennedy <skennedy@google.com> Add the right edge line to all teasers on tablets

Bug: 9177552
Change-Id: I5270a0ae2196e9a6f732ed6d3327ffe3d30f34be
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
baf6e244948b1db23e064e8eb2114185d5410695 21-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Don't change ToastBar bottom margin.

With no conversation view pager title strip,
we don't ever need to change the height.

Change-Id: I7d18919a156296f3ed8bd0f2e1098e6085b1469c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cc139833bc5829ba70244519e9870de783c41848 20-Aug-2013 Scott Kennedy <skennedy@google.com> Fix some remaining ad teaser issues

1. Disable interaction while in CAB mode

Bug: 10212376
Change-Id: I2206ef4336bc9a2538c236479df837caa5724e8c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2b55549d4fbe25e91f673a0727fc89ff755d9327 15-Aug-2013 Andy Huang <ath@google.com> move ad analytics to gmail

Bug: 9861033
Change-Id: I30bbf5ea7b9e2a2a03588263be1afc9909e16729
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
042a530b2296487fa5899a3e871214ac4a47e3d8 13-Aug-2013 Andy Huang <ath@google.com> more metrics

Reorg category/action/label to be more economical. This gives us an
extra slot for data vs. spending on custom dimensions in the future.

Log CAB actions, some settings state, drawer toggles, CAB mode start,
swipe dismiss, and peek.

Bug: 9861033
Change-Id: I16b30356db70f60ed87749f29ddd667790acbb07
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
761522c1ac7a8fa05acde714f0e26fde47f3415f 08-Aug-2013 Andy Huang <ath@google.com> basic analytics support

Bug: 9861033
Change-Id: I940e25dc12a7cbfe91b1d5ec457c7fc1045171df
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f8ccdcfc26f362d9c20771e2295a0c0e8d1195f3 09-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Refactor ActionableToastBar and ToastBarOperation.

Now supports ToastBarOperation performing actions
when the action button is clicked or the toast bar
disappears.

Change-Id: If191e3cbbf404d2371e086e105627c9474167e8a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bc5e0dcf723918eb986d733ef42d64bcf2ec4ed5 08-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Support compose with quoted html.

ComposeActivity now can be started with EXTRA_QUOTED_TEXT
or EXTRA_HTML_TEXT which will place text into the quoted
region automatically. Goes towards fixing b/6373710 but
using EXTRA_HTML_TEXT has not yet been tested.

Change-Id: I795a0141603670891ccc09a65b2432c0f8db95c8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0fa9efd6df21a92866908ab679a78b7a128bc28f 07-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Remove ad code.

Change-Id: I10fb58fd7d4c7e3a51dbf515b0d2df801502648e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6c570db71b8adc43d7dc2f31e6fa63cf50c1426e 07-Aug-2013 Andrew Sapperstein <asapperstein@google.com> Add new ViewMode.

Works in OnePaneController.
Need to wire up the buttons.

Change-Id: Ia9aa5e696cbba1d170038e47d4941cc6fcf0a967
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2bc24d4df12a4cf6eeacfc3314f8f9eca4d5bb55 05-Aug-2013 Andy Huang <ath@google.com> Merge "always confirm draft discard action" into jb-ub-mail-ur10
121c8b877090e780b4a16d5a14507c3649e61d7f 05-Aug-2013 Andy Huang <ath@google.com> always confirm draft discard action

Bug: 10098652
Change-Id: I4984a38ef6c7d24f73a3a5e857108163f6bea1b7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d9eaca8676ad4c6c58122fd41be799872bfd9cda 05-Aug-2013 Tony Mantler <nicoya@google.com> Fix drawer handling when in "Waiting for sync" state

b/10153197

Change-Id: Ic65855e9210271cdc3b715c64d8d786026ae9a67
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3d6751ad5328d5a17fa637e3157974d776591b26 02-Aug-2013 Tony Mantler <nicoya@google.com> Check for the drawer being enabled so we don't crash DrawerLayout

Change-Id: I52ea25a369d20d0c0e63ab7aab8334e1451dcacd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fe81f4000d3b23274d0b57a3b02791634b76cc23 01-Aug-2013 Tony Mantler <nicoya@google.com> Merge "Add more drawer logic to CAB mode enabling" into jb-ub-mail-ur10
a703d8a647a7272347c47bbb394b1a4c403106a5 31-Jul-2013 Tony Mantler <nicoya@google.com> Add more drawer logic to CAB mode enabling

b/10097179

Change-Id: Icc4f2459fac1e1c677fee2d787f51a230bffd198
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2b9d80eb16156173f11a02eae4f770d8c975927c 31-Jul-2013 Scott Kennedy <skennedy@google.com> Change all resid switches to if-elseif-else

I really want to get this building in an IDE.

As per http://tools.android.com/tips/non-constant-fields, library
projects (like UnifiedEmail will be) have non-final R constants. They
are not final until packaged into the main application project's
(Gmail/Email)'s R.java.

As such, they cannot be used in switch case statements, and we must
use if-elseif-elseif-elseif-...-else instead.

"This is typically in UI code and the performance impact is
negligible."

Change-Id: Ie699c13e1becd51c59c1b2ea81bc902d4f2e28d9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b29890a632b0068c8b5d66c417b1824f0f089d1f 31-Jul-2013 Tony Mantler <nicoya@google.com> Scroll drawer to selected mailbox when showing drawer

b/9730913

Change-Id: Ic621bbd6025d9087f37c309c308e7cd62e3e480e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
103319aaed26bce257de55b2fe93d4f78d3c59b9 26-Jul-2013 Scott Kennedy <skennedy@google.com> Ads in conversation list

Change-Id: I3095409211d6a6bdc42212bcd6a330333a9da411
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
43fab3224230c235db5be395f96096e1cac6b376 27-Jul-2013 Tony Mantler <nicoya@google.com> Enable/disable CAB mode when swiping drawer

b/8905404

Change-Id: I1324906dabae63c6971f4f6952875fdf31bd672b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
aded57845c51f128fc5dbd8e992697823775ce5a 16-Jul-2013 Scott Kennedy <skennedy@google.com> Remove references to the Folder List

Change-Id: I9f6b9d7f6c5100324703449da4761e67266ebed0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
259df5b9e11908c8ef7c91483924891dd96b3c27 11-Jul-2013 Scott Kennedy <skennedy@google.com> Add a new FolderUri

This will allow us to add query parameters such that Uris will still
appear to be equal, regardless of differences in the parameters.

Bug: 9780067
Change-Id: Iafe39763b3ee448cf02536df89caa736500dfdaf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c6691fec4ff571a3d5a9e9c4c41165bb404ab9bd 16-Jul-2013 Tony Mantler <nicoya@google.com> Fix swapped assistive text b/9860465

Change-Id: I9545369b51cfaaca935e5ec4daaf542257e91504
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
81b5fa063cb17ac7caf5622e83462151d03e0ecd 11-Jul-2013 Scott Kennedy <skennedy@google.com> Don't try to use the drawer when it doesn't exist

Bug: 9792244
Change-Id: Iac656c60466f30fcab1e1799d7e9e9d888ebe4ba
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2b254dc9185d903f7ae01db4fac4eb060bb68f6f 10-Jul-2013 Scott Kennedy <skennedy@google.com> Allow swiping the drawer from any ConversationList

Bug: 9773440
Change-Id: I98c5b95d191c68e02904a6cf48d10ade68381ba6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dfbc6985e44c05e37fd8addce65a063ff57a3dc1 03-Jul-2013 Vikram Aggarwal <viki@google.com> Disable drawer for child folders

Bug: 9696028 Disable drawer for child folders

Change-Id: Iba2353e71c9b4789611737173db874fc37981b05
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
144bfe739b93afdee0a1700a34806b0b287e5887 11-Jun-2013 Andy Huang <ath@google.com> yielding cache construction to reduce scroll+refresh jank

Background caching of conversation objects triggers GC_FOR_ALLOC, which
blocks the main thread and causes jank. We do want to cache to improve
scroll framerate, but we also want to avoid causing GCs while drawing is
in progress.

Add cancel-handling to the cache's async task, and connect it to a new
DrawIdler class that monitors a view hierarchy for draws. Together, they
cause any drawing to pause background caching until 100ms of drawing
silence.

If you scroll before the cache is filled, scroll framerate will not
benefit from the cache, so it will be somewhat lower. Previously,
caching would continue during the scroll, so depending on where you are
in the list, it may have been faster, except that it was punctuated by
annoying GC pauses. The framerate now will be generally more even now,
although it may be lower if you scroll before the cache is allowed to be
filled.

The DrawIdler is 1:1 owned by the Activity/Controller, but a single
Cursor may be shared across Activity instances (e.g. rotate). So connect
each DrawIdler to the shared cursor in onLoadFinished. This works
because the rotated Activity's onLoadFinished is called *after* the
first Activity's onDestroy.

Bug: 9032162
Change-Id: I217dac012f2d74f47a158aee3bd2de78d9b14171
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3b965d78774a42358ce6bbdcc43b4c8df130a60e 25-Jun-2013 Scott Kennedy <skennedy@google.com> Clean up a bunch of warnings

Bug: 9565838
Change-Id: Ie3a380581e81c63aaa0764875c55bfdccd5f2b13
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
48ccbc53ef90bf6420f831f63e6243008e02a346 06-Jun-2013 Andy Huang <ath@google.com> Don't let ConversationCursor do work during scroll

Bug: 9032162
Change-Id: Id47fd9c2a1cab01b798a0c24a5802a3d059d5c70
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e2be97a58fbae98b95e51735c6468d121e465355 21-May-2013 Paul Westbrook <pwestbro@google.com> Minor changes to reduce allocations

Don't use anonymous inner classes, as these objects would get
instantiated for each usage. (This could also cause the containing
classe to remain referenced

Initialize Bundles and ContentVales to the ideal size to prevent the
objects from being resized

Change-Id: If83ad94f67149d54847c3cdb5244e1841d7b369c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f7c9d7d41b4cf6dfcca444ed7d9d6eeb216103df 12-Jun-2013 Scott Kennedy <skennedy@google.com> am caaeed38: Revert commits for old archive/delete dialog

* commit 'caaeed3837316175111bb16e6b60aeb0d523debf':
Revert commits for old archive/delete dialog
caaeed3837316175111bb16e6b60aeb0d523debf 12-Jun-2013 Scott Kennedy <skennedy@google.com> Revert commits for old archive/delete dialog

This reverts commit 1dab2bf735a942a0e45484cff8aec04824ac0982.
This reverts commit 32ecfdd22f45892a6341b11e80e6d59f563a6160.
This reverts most of commit b4cb510b1cef97580b0f29562aa7edc25257322b.

Bug: 9296856
Change-Id: I7206ab4b94109e758c9476880d41e7d3fe239e2e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dd2ec688cf18e0ec132d936168ccaa3c43cdefb1 04-Jun-2013 Scott Kennedy <skennedy@google.com> Move to Inbox

Show this option in places where "Move to" doesn't make sense, like
All Mail and search results.

Add a new Account setting field: Uri moveToInbox
This contains the Uri to use for the "move to inbox" action, which
may differ from defaultInbox.

Bug: 9256654
Change-Id: I91062d6a602ed785d42cc52ed66712f134730755
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7d257af54aba47ab662e34f0c9faf54d86ebd4a4 11-Jun-2013 Andrew Sapperstein <asapperstein@google.com> resolved conflicts for merge of f950fd5d to jb-ub-mail-ur10

Change-Id: I7ffb9ec33e74b118eb184b2794e08cec05650271
2f542873183b37fa38a0d468f46bbfebc1f537e2 11-Jun-2013 Andrew Sapperstein <asapperstein@google.com> Reshow sender image teaser.

Fixes b/9375917. Now the sender image teaser shows
until cab mode has been entered or it has been swiped away
manually. Entering a conversation will not hide the teaser.

Change-Id: Ib3c6d56e4504680b513b2b56e9bcbc091a5da8aa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9074855c3595fcf842ecae43f4f0040b573914a5 10-Jun-2013 Scott Kennedy <skennedy@google.com> am 1dab2bf7: Fix when the removal action dialog is shown

* commit '1dab2bf735a942a0e45484cff8aec04824ac0982':
Fix when the removal action dialog is shown
1dab2bf735a942a0e45484cff8aec04824ac0982 10-Jun-2013 Scott Kennedy <skennedy@google.com> Fix when the removal action dialog is shown

Not for swipe, not for mute, etc.

Bug: 9340302
Change-Id: I18be3104887016cfbcf857409d6804564a4d7c74
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0f88a8a8e1df87445864a74fcd331a72853c88e6 08-Jun-2013 Scott Kennedy <skennedy@google.com> am b4cb510b: Show a dialog to discover the removal setting

* commit 'b4cb510b1cef97580b0f29562aa7edc25257322b':
Show a dialog to discover the removal setting
b4cb510b1cef97580b0f29562aa7edc25257322b 06-Jun-2013 Scott Kennedy <skennedy@google.com> Show a dialog to discover the removal setting

The first time a user clicks "archive" or "delete", we will show a
dialog, asking if they want to see archive, delete, or both.

Bug: 9296856
Change-Id: Ibb88304eac66bb16a2f80622fb37cb9f57fcb6c6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7626f4fc6ed45e7c6e19f964933176ddd426c989 05-Jun-2013 Andrew Sapperstein <asapperstein@google.com> Merge "Refactor ConversationMessage out of MessageCursor." into jb-ub-mail-ur10
8812d3c50e35c4f2a02d29c35c76082c4ebec0cd 05-Jun-2013 Andrew Sapperstein <asapperstein@google.com> Refactor ConversationMessage out of MessageCursor.

Just moved the static final inner class to its own
file and fixed up the imports. Also moved the MimeMessage
parsing into Message instead of in ConversationMessage.

Change-Id: Ic35d4cf5e52b392d68898ff47efaeeee4d0865b0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
aa941d7e107f7ce09838bd4daf295259d126dfa2 05-Jun-2013 Vikram Aggarwal <viki@google.com> Copious documentation

Documentation on usage of loaders close to the source of the action.

Change-Id: I6562950d781dbab3ba00f7d921eeae88ed64f610
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6aca689261cf43e16534e320dc4a34cadf31c41b 04-Jun-2013 Vikram Aggarwal <viki@google.com> Explain app startup

Change-Id: I3f9b1e46eb6bf96ff19b3e22316bfa631873b1ab
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d70fe49cabf896e87574bcb2e57e8a32608537be 04-Jun-2013 Vikram Aggarwal <viki@google.com> Better comments

Improve the javadoc associated with loaders. Makes it slightly easier
to understand the loaders when looking directly at the code.

Change-Id: If92754868e3faf0dd223ccf7a370984fc0d16c01
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c94d07f4460d00db898237603de311d226707a96 04-Jun-2013 Andy Huang <ath@google.com> fix jank during auto-advance animation

A mode change due to auto-advance may trigger an animation. To ensure
that the animation is totally smooth, defer the pending destructive
action until after the mode change transition is complete.

When the transition doesn't run, we execute mAutoAdvanceOp immediately
by ensuring that mAutoAdvanceOp is set before showConversation(). We
assume that the no-op transition signals completion within the
showConversation() method call.

Bug: 9077521
Change-Id: I3f9f509ebd3fb0d9dc54ff7532ac7e843b6e9baf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2930fb7b1c75588c06e2beb9ff6c45d4ae86399a 16-May-2013 Andrew Sapperstein <asapperstein@google.com> Merge "New logic for showing/hiding menu items." into jb-ub-mail-ur9
c1922a93fb9540d4ff8c28a30d1ae58d3a3d73f9 13-May-2013 Andy Huang <ath@google.com> Fix undo when auto-advance is not set to 'list'

Auto-advance broke undo because undo did a sequence number check before
doing anything, and a side effect of auto-advance is to mark the next
conversation read!

Added more toString() logging to assist improve 'dumpsys activity'
output.

Bug: 8877688
Change-Id: I54597c4511780651a3a043a7752191cbad6fa1b9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fc5be1c9fb937c1e0b6e981581fbba2157a009ac 16-May-2013 Andrew Sapperstein <asapperstein@google.com> New logic for showing/hiding menu items.

Fixes b/8905351.

Change-Id: I69696f478940f14e9ab22d43f893520dfac4ccef
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
31413f86108af58e45e92e204a558c9ed87bc9b4 15-May-2013 Andrew Sapperstein <asapperstein@google.com> Deleting unused string.

Created it to use for orientation changes
but never ended up using it. Forgot to delete it
in the previous submit.

Change-Id: I04d84666fef713a0d8ee5423b39c6a788bed31e5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4c91e39aa0a5520b464fbc8b03f77b1b682fa6ec 15-May-2013 Vikram Aggarwal <viki@google.com> Merge "Compare account list correctly" into jb-ub-mail-ur9
c04cf7e8a7be800902c59ac6d771449d04f1bca9 14-May-2013 Vikram Aggarwal <viki@google.com> Compare account list correctly

When we get a new account list, it is *not* sufficient to compare the
account URI. We also need to compare all the fields of the account
objects.

Bug: 8528644 Initial sync can get stuck

Change-Id: Icdd42f81a1fd1f058c23c1cf827911943d9df4d1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5747e152fa606c20261b18431f4a9f0ff3be7b5a 13-May-2013 Andrew Sapperstein <asapperstein@google.com> Show/hide menu items based on drawer open/close.

Fixes b/8905351. Currently, when the drawer is
fully opened, we hide the action items except
send feedback, settings, and help. We only
show the other action items when the drawer is
fully closed.

Change-Id: Ifdded1ccd20f012fb6b69089ee3914a399ea8235
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a3ce678020691f9aef7a3a4efcd015b396595486 10-May-2013 Andrew Sapperstein <asapperstein@google.com> Properly handle loading conversation list.

Fixes b/8846152. We now properly check whether
the drawer is animating when getting the conversation
list back from the loader. We now check the actual
state of the DrawerLayout (by storing the last state
from the DrawerListener) and querying it when we get
into onLoadFinished. If the drawer is not in STATE_IDLE,
we set a flag to query when the drawer state becomes STATE_IDLE.

Change-Id: I1ec35858f2659f01103d5b0505ebbda92eb49442
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
23e3313977d35d5caf152baf6cb27c9cc2d8ab91 08-May-2013 Andrew Sapperstein <asapperstein@google.com> Reflect settings changes immediately in actionbar.

Previously, we could return to conversation view and
still see the old settings for show archive/delete/archive&delete.
Now, in AbstractActivityController.onResume, we invalidate the options
menu so that it is always up to date when we return to the conversation
view or any other view mode, for that matter. Partially fixes b/8856931.

Change-Id: Ief1c909d91f710b211b5ea897fcc1dc122418d43
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
919d01a1144dc14f114860949ff4af79a9165ec7 08-May-2013 Scott Kennedy <skennedy@google.com> More logging

Bug: 8824046
Change-Id: I99c63dc62393f1446938c52699ca03b6ea2fad3a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
193e05a8c38b87c400ac594b53b54eb211d35602 05-May-2013 Alice Yang <alice@google.com> Add some logging

Adding more logging at INFO level for hard a hard to repro use case where
multi-select then archive/delete from menu highlights but does nothing.

Bug 7486078

Change-Id: I9a4647858c14e196f83c82fa98903f054bff2ba7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2f9d394867be45302bb4323da7cacf193da38f39 03-May-2013 Vikram Aggarwal <viki@google.com> Allow taps on the current folder

Contrary to popular belief, we do allow taps on the currently selected
folder. In these cases, we should close the drawer and do *nothing*.

Seems we were NOT doing nothing correctly.

Bug: 8796101 Selecting current label from drawer causes blank
conversation list view

Change-Id: Ic31d96b7737068d9d2b670bf424e6722f9405b47
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8a72b8590d9166ada55f69eeb083d2b8c5c915c9 02-May-2013 Scott Kennedy <skennedy@google.com> Only pop the user to the inbox when the drawer is enabled

Bug: 8788742
Change-Id: I97130b088956a25617e55f5454e980034461ce4a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
72727efe0bac563c72c208737c381296c35f94a9 02-May-2013 Scott Kennedy <skennedy@google.com> Add some debugging for wrong inbox loading

Bug: 8526579
Change-Id: Ibee7914879a941d8c150c1a9a66d8284b8285207
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
99be192240e205d9740cc144e661249c3d4230ba 01-May-2013 Andy Huang <ath@google.com> fix 10" tablet crash on launch

AAC must not do drawer calls without first checking isDrawerEnabled.

Maybe make this better later.

Change-Id: I47878c665d72e3a749134f2a6b025dacc68a5775
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2dc850446320d6b56b89dda7fefc5113c6b7d8d1 01-May-2013 Vikram Aggarwal <viki@google.com> Always populate the account in the bundle.

Change-Id: I370cb038024c708838a17f57ab164c6f6d90d1f3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a1b59dcb4a8aaef821aa2f5c996f715ef130c985 01-May-2013 Vikram Aggarwal <viki@google.com> Start the conversation list load early

Using a hacky boolean to keep state. Will switch to listening to drawer
state in a subsequent CL.

Bug: 8743683 Latency when switching accounts/folders
Change-Id: I94930b1886cd57c33cc1fa1e851aba0d1ebaa4d3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
887bd17a4d8e9fd02a603beb6ab2c5732dca04b4 01-May-2013 Paul Westbrook <pwestbro@google.com> Remove "Show all labels"

Bug: 8776309
Change-Id: I25518d36b9abf1c5294ba5eb74fccb44d18636b1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
84d168042a95cafe6da6874a81603e3bd83368ae 01-May-2013 Andrew Sapperstein <asapperstein@google.com> Merge "Add a confirmation dialog to empty trash/spam." into jb-ub-mail-ur9
ed5b52da9d2dd676c72a7137f6b85d9841fe6eec 30-Apr-2013 Andrew Sapperstein <asapperstein@google.com> Add a confirmation dialog to empty trash/spam.

Fixes b/8753294. Creates a new EmptyFolderDialogFragment
that displays the dialog, handles orientation changes, and
calls back to AbstractActivityController when delete is selected
to perform the mass deletion. Additionally, we now only show
the empty overflow options if there are conversations in the
folder.

Change-Id: Ibc9ff0b9511a4cdc4c390cd7273706abedb8d9a2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cf2a69115565e493b9ecb885cf9e8da84b8a48ec 30-Apr-2013 Andy Huang <ath@google.com> Merge "use the drawer on small tablets. general tablet layout love." into jb-ub-mail-ur9
12b3ee458e04ac7e0b69302e671d10b24a5c98cf 25-Apr-2013 Andy Huang <ath@google.com> use the drawer on small tablets. general tablet layout love.

Added 'spacious' variant of NORMAL list item layout.
Because the determination of whether to use tight or spacious dimensions
isn't easy with resource qualifiers (think of 7" tablet, which uses
tight dimensions for 2-pane side-by-side layout, but spacious dimensions
in portrait), I just made a whole new layout for this permutation.
Please remember to maintain NORMAL, WIDE, and now NORMAL/spacious
variants!

Use WIDE mode + drawer on landscape 7" tablet.

Make 2-pane controller and layout drawer-aware. Pull up drawer code into
the common controller base class. 10" 2-pane continues to not use a
drawer.

Don't use a resource qualifier to decide between normal and wide item
layouts (same reason as spacious dimensions above). Use the actual item
width as a dimensional test (list_min_width_is_wide).

Use default drawer scrim color.

TODO:
the conversation-open animation is janky looking.
can't open the drawer in conv mode/7" landscape

Bug: 8578806
Change-Id: I1210b1d47d1756353f7c386873465751ca21f801
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
77ee0ceaefaa9be699a20bfbe162f4c0ef83c6e1 29-Apr-2013 Vikram Aggarwal <viki@google.com> Get inboxes from the folder watcher

0. Create a folder object in the watcher, off the UI thread.
1. Pass the folder watcher back to the controller
2. Get the inbox folder directly from the watcher.
3. If that fails, revert to the existing logic.

Bug: 8743683 Latency when switching accounts/folders

Change-Id: I36baaab675ff65b43ce5ab1ad3485259a700ce1f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8bcb7c5c37ffd5a1a0c5f4efbcab084830d5e033 28-Apr-2013 Rohan Shah <shahrk@google.com> Close drawer when not changing folders

Drawer should close upon clicking the currently
selected folder or clicking the current account
while viewing the inbox.

Change-Id: I1f4827e9386289172ea3b1137c393dd1d6fc587c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a1ee97806aed01ca3293dd23fcf02d46a6d9e6f0 27-Apr-2013 Paul Westbrook <pwestbro@google.com> resolved conflicts for merge of d0204cff to jb-ub-mail-ur9

Change-Id: I16aa573b191f3c6e97ef69a7192558905507c32a
b905f0ea18ee0dc5774adb29c57cd7c122058c71 26-Apr-2013 Rohan Shah <shahrk@google.com> Change UI

-Removed accounts recents
-Changed colors
-Added radio button assets for accounts
-New header names for sections in folder
-Shadows, folder selection dialog modified

Bug: 8720403
Change-Id: I5b9379a4fe323bcc25fb0ed943ddc8ec7880a6be
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1d0f1f839023e405b24ffc6a670b5c26b36f24e0 26-Apr-2013 Yorke Lee <yorkelee@google.com> Fix NPE in emptyFolder during monkey test

Do a null check for mConversationListCursor in case
empty folder menu option is selected before the cursor is loaded.

Bug: 8734605
Change-Id: I0bf6107ae56518f0876e23d94361ebbfb13d1351
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
97ae7847b3a0eac8327b5f6300c854d1c9a19c3e 23-Apr-2013 Vikram Aggarwal <viki@google.com> Remove unused argument

I said I'd remove the argument, but forgot. Here it is. This first
argument isn't used, and isn't there.

Fix the build.

Change-Id: I682ecd13b3b7a95e83ad3667e9aa79784913b981
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3feb7ea0cb6404f45044ab5a4d1e4604f6be1465 22-Apr-2013 Scott Kennedy <skennedy@google.com> Merge "Remove drawer jank and load less aggressively" into jb-ub-mail-ur9
a587823d256b3b645b18813cc5d6af6d1404600a 22-Apr-2013 Alice Yang <alice@google.com> Merge "Onboarding UI for section inbox" into jb-ub-mail-ur9
0f73d905c5e935a5280f8eb647cc924c2854b7de 20-Apr-2013 Rohan Shah <shahrk@google.com> Remove drawer jank and load less aggressively

Added an observer that only allows account/folder
changes to continue once the drawer is closed to
avoid jank/awful fps that we saw before.

Bug: 8661186
Change-Id: I859882b40a8cdf86d0b825eb7e4203b4e3516ecd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fe8e081d6230f343dc74b45d69e5f4634a332b5a 22-Apr-2013 Alice Yang <alice@google.com> Onboarding UI for section inbox

- Expand the existing teaser view to include onboarding message
- Onboarding is shown once section inbox is enabled, and dismissed by one
of following:
- Opening a conversation
- Change categories
- Swipe onboarding

Bug 8585165

Change-Id: I3b15dfe74255d9ecaf1e6bf535e55d0bb554d733
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d4f2287a529ae743955700f318f60bb5b6c02bc0 20-Apr-2013 Rohan Shah <shahrk@google.com> DO NOT MERGE Remove drawer jank and load less aggressively

Added an observer that only allows account/folder
changes to continue once the drawer is closed to
avoid jank/awful fps that we saw before.

Bug: 8661186
Change-Id: I79a212dea138a84dcd903ef88f96befdd0f668b9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
57246a4bf94e8b440c0597fa4a8e4f4e8a46532a 21-Apr-2013 Paul Westbrook <pwestbro@google.com> Use the ActionBarDrawerToggle

Bug: 8668887
Change-Id: I1efbee696aa46fa6d1226f7e23793dbfdbcbdddb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e636e2ab1d8149ec3f283bf0672b410028a5d18e 19-Apr-2013 Andrew Sapperstein <asapperstein@google.com> Merge "Properly implement clicking active account." into jb-ub-mail-ur9
4cbb0da3cd701ee0c06237ded965648d68c663c8 19-Apr-2013 Andrew Sapperstein <asapperstein@google.com> Properly implement clicking active account.

Fixes b/8656442 while preserving fix of b/8470761.
Instead of reworking changeAccount, we now have a second
method called switchToDefaultInboxOrChangeAccount
which is called by FolderListFragment. It does the folder-switching
specific code before going into changeAccount. changeAccount is
now back to its original code which is also run when you open
from a widget or notification.

Change-Id: Ib4b6f68e7464e947028cc870625fe6a9d8afe00e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7ee089ea2ef96e31504e88637b5f3b0969b3c7c1 25-Mar-2013 Scott Kennedy <skennedy@google.com> Add Empty trash/spam option

Bug: 4559378
Change-Id: I8dc5715a5f14f9fd6e8962ab665c4c25f3c64302
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
90a3cfd69afa517076786153e171beef68e45fb0 18-Apr-2013 Vikram Aggarwal <viki@google.com> am bf322ea8: Merge "Remove verbose logging" into jb-mr2-dev

* commit 'bf322ea846aa14503076e85eac20b92015782cd0':
Remove verbose logging
58220477456625e01716ba6b6d78971ee5b11ebb 18-Apr-2013 Andrew Sapperstein <asapperstein@google.com> Merge "Allow clicking active account." into jb-ub-mail-ur9
252684a1ddaf00119d8f2440e5d4cd93c77e5298 17-Apr-2013 Andrew Sapperstein <asappestein@google.com> Allow clicking active account.

Fixes b/8470761. When clicking on the active account,
moves to default inbox for that account.

Change-Id: Ia135664c554ca0c1c44a37a9f08826961fab8bf3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c5a041baacc1f3310d82c20b8108a242a8e8bb84 17-Apr-2013 Vikram Aggarwal <viki@google.com> Remove verbose logging

Bug: 8643644 Remove verbose logging

Change-Id: I1bd5083591e75a55b06322b105ea44ddf03a359a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
25a8ed222c0a61beacc081a0965b91545cafbc7b 17-Apr-2013 Vikram Aggarwal <viki@google.com> am ae4a8ecf: Merge "Fix ConcurrentModification" into jb-mr2-dev

* commit 'ae4a8ecf1856066fd8c374ad7aef90e6cf0de09a':
Fix ConcurrentModification
84fe99431df3b989dff9b363562f09fd2757b63c 17-Apr-2013 Vikram Aggarwal <viki@google.com> Fix ConcurrentModification

Selected conversations are cleared at the end of the action.
Rather than iterate through the hashmap and delete them one
by one, it is easier to do nothing for selected conversations
and have the destructive action clear the entire selected set
at the end.

Bug: 8636404 ConcurrentModificationException when archiving a batch of conversations

Change-Id: I49973da783c94dc1b019057ced09e11feac962df
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7decac3d0191d1db9bffd8d15b34d66d79eec324 17-Apr-2013 Vikram Aggarwal <viki@google.com> am 1b21551a: Merge "Remove from selected set in addition to the list" into jb-mr2-dev

* commit '1b21551a011f805dcd643126d308336a935374bc':
Remove from selected set in addition to the list
1b21551a011f805dcd643126d308336a935374bc 17-Apr-2013 Vikram Aggarwal <viki@google.com> Merge "Remove from selected set in addition to the list" into jb-mr2-dev
87f93d446f983585151419e26e35debf979fa954 17-Apr-2013 Vikram Aggarwal <viki@google.com> am de60c9d0: Stop creating so many loaders

* commit 'de60c9d0ad164a5daf358181a05bbd43edd5d5ed':
Stop creating so many loaders
ab1b5b6d16800ff675116cdab33cf26ab3514732 17-Apr-2013 Vikram Aggarwal <viki@google.com> Remove from selected set in addition to the list

Destructive actions should remove from the selected set in addition to
the list so that the selected set does not reflect stale state.

Bug: 8425778 Gmail says 1 selected when I just archived that 1
Change-Id: I3b40fa074eb4c7d1927a7d6775fdb07817fe4ce0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
de60c9d0ad164a5daf358181a05bbd43edd5d5ed 10-Apr-2013 Vikram Aggarwal <viki@google.com> Stop creating so many loaders

1. Fix the check that caused duplicate loaders for the same account to
be spun up. This fixes the runaway loader issue.

2. Clean up the interface to folder watcher. Instead of asking for
URIs to watch, it accepts the entire array of accounts and
starts/stops watching on URIs as necessary.

3. Add documentation, clean up code a bit.

Bug: 8587151 FolderWatcher creates runaway Loaders

Change-Id: I063f8c21869f44ae780128013449d6462c07a9c8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6ffd966aec6fe2e63e0a3ba067f6881a9ba00186 15-Apr-2013 Vikram Aggarwal <viki@google.com> am e60f6d24: Merge "Switch out of wait mode correctly" into jb-mr2-dev

* commit 'e60f6d24427d2d324e848a6247fa5612db9b3373':
Switch out of wait mode correctly
8cbf281d1676c21ced08c42da2aa9828cdadd87d 12-Apr-2013 Vikram Aggarwal <viki@google.com> Switch out of wait mode correctly

The burden of transitioning out of wait fragment is on the
implementation of hideWaitForInitialization(). It is correctly handled
on phone, but not on tablet.

On tablet, if we have not transitioned out to the correct mode, we
should set the mode to conversation list mode, which is the only valid
mode to set at this point.

Bug: 8529007 Compose, Search, Manage labels and Settings are missing
from menu bar in list view on Nakasi after adding an
account

Bug: 8427487 Blank page is displayed upon opening Gmail 4.3 (UR8) on
ICS tablets

Change-Id: I779969187e1aaf0b84697354544b6f0440e93578
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
25105103b2a2f8c49bedaced0141c9311a29d46e 11-Apr-2013 Scott Kennedy <skennedy@google.com> Merge "DO NOT MERGE Genericize a comment and remove an experiment" into jb-mr2-dev
48cfe4613549cafdf36e2a524afba730522bf291 10-Apr-2013 Scott Kennedy <skennedy@google.com> Parse Folder out of intent

If we had a full Folder object as an extra, but no URI, we opened
the account's default inbox, instead of the desired folder.

Bug: 8526579
Change-Id: I64d1bdecea11e39fde5657910a3b3b2e22cd411a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
eb54a6de498a8e9a7276eb59d975571726246de7 10-Apr-2013 Vikram Aggarwal <viki@google.com> Merge "Speculative fix + additional logging" into jb-mr2-dev
ca86dc92a84ad9410ea92706ebb4d2af3932ed68 09-Apr-2013 Scott Kennedy <skennedy@google.com> DO NOT MERGE Genericize a comment and remove an experiment

Bug: 8568606
Change-Id: Ia42d0f9462ac615fb00d07868f59afa17ada2601
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0c94d45845164aa7c39295da608f33be97099c50 10-Apr-2013 Vikram Aggarwal <viki@google.com> Always have the freshest cursor around

mFutureData was a performance improvement in the previous version. The
assumption was that the FolderListFragment was never going to be shown
with the ConversationListFragment on phones. This assumption is now
false. Removing this performance tweak. Will need to improve FLF
performance in a separate CL anyway.

Bug: 8578809 Continuous waiting for sync spinner spinning for Undo
archive or delete

Change-Id: I8ab6e4b2945d9c9626cfde2090189327fd7558d8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b3fa6f852ed6c7f72b90ad382882a0557783e711 09-Apr-2013 Vikram Aggarwal <viki@google.com> Speculative fix + additional logging

Speculative fix: Perhaps the mFutureData / mCursor interaction is
causing an incorrect account to be populated. Removing it from the
codepath since its effect is minimal now.

Additional logging in case the fix above doesn't help much.

Bug: 8437457 Mismatch of personal/corp account
Change-Id: I2b878c049eb899b46ddc5604baae42db1542d224
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d8b1a0c3568746e0ceab1a40a302d17def12a78f 05-Apr-2013 Rohan Shah <shahrk@google.com> Integrate recent accounts into drawer

Allow for accounts to be ordered by most recently
used at bottom working up to least recently used.

Bug: 8449354
Change-Id: I5d7903c3ba9a6d6be817bac2388a149a6d0d0d9d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ad8b99b26bf9eff7730ab733cc8ef8b0710a9e0e 08-Apr-2013 Vikram Aggarwal <viki@google.com> Remove the subject from the actionbar

Following the new UX guidelines: no subject in actionbar anymore.

Bug: 8438223 Subject of the mail disappears from the action bar on
orientation change to landscape mode

Bug: 8492928 Action bar title switches between subject and the
folder+account name

Bug: 8529168 Remove search_actionbar_view

Change-Id: I8551fdacd7843ca0b2ba0bf1025483eee2587638
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cb4ba89d54b9f48c8d541a1faa97f9550c47ddd5 05-Apr-2013 Vikram Aggarwal <viki@google.com> Merge "Added account recents support" into jb-ub-mail-ur9
1cb17735b545e8ea6e73c60dafe263f682bc2241 05-Apr-2013 Alice Yang <alice@google.com> Merge "Pull to refresh take 2" into jb-ub-mail-ur9
486e63e5bc7a88455e6fcb83d9cb251df203f727 05-Apr-2013 Alice Yang <alice@google.com> Pull to refresh take 2

Use a horizontal progress bar pinned to the top of conversation list view
to indicate a sync is occuring. Pulling down on the list view when one
is already at the top of the view will trigger a sync.

Bug 8351953

Change-Id: I08db25de800b0fd336e58fe6c8bb614df39c71d1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
80b6aa924828c5c4b8bc4981efc9e1f2f3b86660 05-Apr-2013 Scott Kennedy <skennedy@google.com> Merge "Show up when waiting for initialization" into jb-ub-mail-ur9
1dd054f4e5581b69a52936c9d257fa91cb6daee7 01-Apr-2013 Rohan Shah <shahrk@google.com> Show up when waiting for initialization

The view mode changes were showing the incorrect state
for the up/home button. The button should now toggle
the drawer when in Waiting For Sync mode.

The change also makes it such that the FolderList will
(at least for the time being) toggle out the drawer.

Bug: 8528160
Bug: 8518608
Change-Id: Ia58e28892f44bda373fe346449a78f04a12a7f10
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1c5fed23e5ec51f04557677c6a9353374dd44d4c 28-Mar-2013 Rohan Shah <shahrk@google.com> Added account recents support

RecentAccountsList will now maintain the ordering of
accounts from least to most recently used.

Will be adding to drawer once most of the refactoring
is done.

Bug: 8449354
Change-Id: I56e6c401bb3cfeaaa06d61e4c2e048f21c107dd8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
81064f89b39df5b6a5055fe71d07d16972d3c66e 02-Apr-2013 Vikram Aggarwal <viki@google.com> Search actionbar view lacks the unread count

Verify non-null mUnreadView before proceeding. A longer-term fix is
to remove the search_actionbar_view entirely and never enter
setFoldersAndAccount().

Change-Id: I8ac19eb2b10a9824e0466ca88fd1b9f0570c82b2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
26b0bfd6dbff67a00079e7a60c9f7120d3a1ed85 29-Mar-2013 Vikram Aggarwal <viki@google.com> Unread counts in the new actionbar

Didn't have unread counts earlier, have them now, styled in the same
way. Tablet layout needs work still.

Bug: 8449503 Unread counts in ActionBar
Change-Id: Ic8224a935de7addd4d584252bb7992ca04b3e0de
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e6459424b3e46d768865c908af1caa932f783095 02-Apr-2013 Andy Huang <ath@google.com> fix blank conversation view on tablet when launching from intent

If a 2-pane layout pass finished before the FIRST_FOLDER loader returned
results, the layout pass triggered an early showConversation() operation
before mConversationToShow is set by the FIRST_FOLDER loader.

The later showConversation() in the FIRST_FOLDER onLoadFinished did not
re-run the operation, because it assumed a transition would run that
showConversation had to wait for. The transition does not actually run
because TwoPaneLayout debounces consecutive requests to change the view
mode.

So...
* don't switch modes on FIRST_FOLDER load unnecessarily
* FIRST_FOLDER load was triggering a mode change to LIST, so move that
into loadAccountInbox
* don't have 2-pane ask ViewMode to see if the mode changed, have it
ask TPL instead

Add some helpful optional logging, and a facility to ObjectCursorLoader
to slow down race conditions for debugging purposes.

Bug: 8408885
Change-Id: If4672c0f6c4426f810de33f65694119d678bacfb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
58ccd6952c0a5ed979e9cee1a3f6992b4040c732 28-Mar-2013 Vikram Aggarwal <viki@google.com> Folder accessed = Folder recent

Used to be:
Folder opened + conversation opened = Folder recent.

As a part of the move to drawer, the definition of a recent folder
changes.

Bug: 8449406 Change the definition of recent folders
Change-Id: I44b11bf7fa286a884a50e4e858934558f43a95c5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
37dda440aaa245cef2d21d17babe951e1d449c4a 27-Mar-2013 Alice Yang <alice@google.com> Fix NPE during manual refresh

Bug 8483017

Change-Id: I4f92a290e096a7e01c6bdaa55d0a68644300cecb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a990b9d7367b2494997e0f1471c7534ec42ffa16 25-Mar-2013 Alice Yang <alice@google.com> Merge "Add sync status bar" into jb-ub-mail-ur9
0d74a662f6e96b5a21e37978eb6e3b46545e3cbf 25-Mar-2013 Alice Yang <alice@google.com> Add sync status bar

User triggered manual refresh will trigger this new sync status bar
to appear on the top of the conversation list. It will show a progress
spinner indicating a sync is in progress until sync is finished.
If sync was successful but no messages were found, we also report that
in the status bar.

Bug 8351953

Change-Id: I71d77ee3f2f4606082792f68bf5993281a60fcef
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9e2d407fdafeb874e640eb84017feaf784309075 22-Mar-2013 Scott Kennedy <skennedy@google.com> Clean up a bunch of warnings

Change-Id: I5c75564eeb2df9ec76d682dbe5f4465ff2a1a5d4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8c1058ee75ec4a5824a68c3c5275bc48d56bbad8 20-Mar-2013 Scott Kennedy <skennedy@google.com> Change FolderType to a bitmask

This allows one folder to have multiple types.

Bug: 8426563
Change-Id: Ide918a884cfb76022f3c03f5cc69adb149a964cc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6a3d5ce0b18f58fcfa1af0315dc8ddc7331c2c5f 16-Mar-2013 Scott Kennedy <skennedy@google.com> Change the undo message for a "Move to" action

Previously, the undo bar toast could only show the currently
displayed folder, but we want to be able to say something like
"Moved to Social". So now, we can pass in any folder that we
consider the recipient of the action, and this is the folder name
that gets displayed in the toast.

Change-Id: I0b17462be86657f7d0c9a3504d15091a157a2292
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6825e7b8789434b29b76240c022e85ba5ae94c2e 15-Mar-2013 Vikram Aggarwal <viki@google.com> Merge "Single Actionbar: no more split" into jb-ub-mail-ur9
bc462cadc2dcd11d27e7810e437aeef1505f4cb2 15-Mar-2013 Vikram Aggarwal <viki@google.com> Single Actionbar: no more split

1. Use title/subtitle to show account and folder name.
2. Move "Show All Folders" in the overflow menu.
3. Remove the spinner and associated layouts
4. Remove existing spinner from the layouts.
5. Rely on actionbar's default view as much as possible.

TODO:
1. Unread count.

Bug: 8351542 Single action bar and new account selector

Change-Id: Ia29c17d751ff0cb789838d32b1fb518efd789b52
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f2632b979d7f17a548c34cccae94b2a0046cee32 15-Mar-2013 Yu Ping Hu <yph@google.com> Fix NPEs related to combined view.

The core problem is that combined view has an empty
recentFolderListUri, which would lead to null
cursors. This change stops those loaders from being
created.

Bug: 8399016
Change-Id: I1d2883f638ec6ad86660083fed3ebecf9fa57714
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4c98320961677f547ab331a61fa34773f432e593 15-Mar-2013 Vikram Aggarwal <viki@google.com> Merge "Create FolderObserver similar to AccountObserver" into jb-ub-mail-ur9
7c8325de829ca029ce4547e4f0fa266124301367 28-Feb-2013 Scott Kennedy <skennedy@google.com> Teaser view for sectioned inbox

Still some changes required as the spec is updated, but it works.

Change-Id: I068488d057e42bc62af36e532d55ce17f695f49d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
50ff0e50f1a27144e55e4184f48e433439727e7b 14-Mar-2013 Vikram Aggarwal <viki@google.com> Create FolderObserver similar to AccountObserver

Reduce code duplication. The FolderObserver calls the onChanged with
the new folder, removing the need for every observer to call
controller methods to get the current folder.

Change-Id: Ia36b4f59676d9b30d39cf2c0cabd2ab1d260f450
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
54e925ec6eb14bf711af563e8e40979f07f17a68 14-Mar-2013 Andy Huang <ath@google.com> Fix crash when DEBUG enabled

opening a conversation with "%" in subject would crash.

Change-Id: I7e9a901cbae986c574958d50cbc69dcfa3d29fd2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5fd8afd5c1b40580c069a5a97039ca0601208216 13-Mar-2013 Vikram Aggarwal <viki@google.com> Remove unused interface and rename method

changeAccount(account) is more indicative of its purpose than
onAccountChanged(account) which suggests that the account has
*already* been changed.

Change-Id: I7dd780e16b6a238814748bb429113dfe1069d9aa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
07dbaa6989ea5c63ecf79b5ce7ec3a6a18a1ff35 12-Mar-2013 Vikram Aggarwal <viki@google.com> Ugly first cut of putting accounts in the FLF

Things to be done which will be checked in soon:
1. Removing some of the ugliness around using a FolderItemView.
2. Reducing the amount of boilerplate when registering observers.
3. Pictures on the accounts?
4. Unread counts on the accounts.
5. Selected state on the account per UX spec.
6. Collapsing the existing list and expanding new list as per UX spec.

This is a known ugly solution to unblock the effort of others.

Change-Id: I8659232ce5508c9f766e5e8da69e21ad9ec24f32
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
60593354f1126b9687d09c3b11a852a3459f7118 13-Mar-2013 Scott Kennedy <skennedy@google.com> Fix a NPE when the up button is pressed

The up button in ComposeActivity was using createViewInboxIntent, but
not passing in the required folderUri parameter, which was being used
later. This change just checks if that parameter is there, and if
not, uses the account's inbox URI.

Bug: 8373309
Change-Id: Ie1bc88d0480c531ab02a4950f404013879784b28
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
177097fad8fc26b8a215f9f1af6dd5fd2c8eb06c 08-Mar-2013 Vikram Aggarwal <viki@google.com> Loaders that create objects in the background

Create Folder objects in the background. This frees the UI thread
after onLoadFinished is called, since the object has already been
created.

Bug: 8315641 optimize AbstractActivityController's loaders

Change-Id: I1f4b2f679cf99a9193d88cb6b9a5aa77b33d6ea9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8e65c6d2527c7539b689e0e8548c84f690badca5 08-Mar-2013 Rohan Shah <shahrk@google.com> Drawer support prototype

Added drawer in the stead of the folder list selection.
Drawer works as expected, by swiping from the left and
following up with the drag. The show labels item has
changed functionality - toggling drawer state.

Change-Id: I34efc865c95696911d8cdf96e83a4334816378a0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b39aaf53a555c1046ef31b3fecf15d086acca013 07-Mar-2013 Scott Kennedy <skennedy@google.com> Make widgets work again

We can't send Folder parcelables to RemoteViews, so let's just send
what we need: two URIs and a String.

Bug: 8330949
Change-Id: I67bf7668d5eeef3f3b2e6225cf8697a4c5533f16
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6f945b6c44623ebd37d52379e64b370d4a76a5b9 06-Mar-2013 Vikram Aggarwal <viki@google.com> Merge "Lots of cleanup in AAC." into jb-ub-mail-ur9
715f83dc3556a0e33cba63acdf4b4842cc042af8 06-Mar-2013 Vikram Aggarwal <viki@google.com> Lots of cleanup in AAC.

Add lots of comments.
No point making private final.
Remove unused stuff.

Change-Id: I43ae77e60f30282bab0d01e551dfbf42adeffaf1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dac89fa9237268d14448946700290fbb7de26004 06-Mar-2013 Vikram Aggarwal <viki@google.com> Make the account spinner focusable

1. Allow focus to the account spinner.
2. Pass no unused arguments to the constructor.
3. Remove non-field variables from the class.
4. Remove unused methods.
5. Add documentation.

Bug: 5346432 Account/recent labels dropdown is not focusable
Change-Id: Ibb6637283a22432bcfcc27340388269c5850829f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7d10e0b0a86760575bf4dad465023b76ed0d595e 05-Mar-2013 Andy Huang <ath@google.com> am 313ac130: fix search hard key handling

* commit '313ac13095a386be366bd25f8106fbb34b4a7098':
fix search hard key handling
313ac13095a386be366bd25f8106fbb34b4a7098 05-Mar-2013 Andy Huang <ath@google.com> fix search hard key handling

onSearchRequested(String) -> executeSearch(String)
No sense getting this confused with the very-different
Activity.onSearchRequested().

Bug: 8309831
Change-Id: I20dfaa854d6dfb1b8a774337ae2ae1b0db17abce
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d6ab8548acd434af4f48d166baa6544e440c8220 05-Mar-2013 Alice Yang <alice@google.com> am 647aefbb: Protect against IllegalStateException

* commit '647aefbb36d4541362495e10e2a328d38ff8d2a2':
Protect against IllegalStateException
647aefbb36d4541362495e10e2a328d38ff8d2a2 05-Mar-2013 Alice Yang <alice@google.com> Protect against IllegalStateException

This was found in a monkey crash. To trigger this
ConversationPagerAdapter's stopListening() would need to called before
setActivityController().

Bug 8314039

Change-Id: If8c211ca83536af44a8eed5ed7ebb59c2d693929
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
59f741f60e389818a9a56b1fba46eea1c372690d 02-Mar-2013 Vikram Aggarwal <viki@google.com> Service to add arbitrary interaction logging to Gmail.

MailLogService provides logging to circular buffers for a given tag.
The application adds logging to these circular buffers. When a
bugreport is captured, the last fifty lines of logs per tag is printed
out on the bugreport.

A compile-time boolean can disable this entire functionality. Even if
it is enabled, the user needs to increase the log level using adb
shell setprop to start the service. If the service is not running,
logging is still carried out, though it will never be dumped.

This is for development only. It needs to be turned off before
release.

Bug: 8293525 Add debugging information for Gmail

Change-Id: Id59a9ff9a88a40e1afdfd31f0441b9531e797d4d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
243c23618b066bcdcd0ab9e36d8c01f50db2cbd0 02-Mar-2013 Andy Huang <ath@google.com> simple instrumentation for conversation load times

Bug: 8284691
Change-Id: I5273649165709425d6ce1d9e29b56bae037a7604
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
817d6658562f7a2bbbc8255b2e10ea3ff1864e20 01-Mar-2013 Andy Huang <ath@google.com> resolved conflicts for merge of 9e4ca799 to jb-ub-mail-ur9

Change-Id: Ia0d3b2234cefe100ada97efa9b918301cebd323e
9e4ca7993213d296043d20fe9cf4e166b5d595e8 28-Feb-2013 Andy Huang <ath@google.com> better logging of conversations, folders, fragments

More info will be logged at DEBUG level.
Also fix crash when DEBUG logging enabled.

Change-Id: I15fbb944128d5fed18086a2eae33f080bff9117e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
822b4c2b53b01d528e458685055b9cf1d491d7e7 28-Feb-2013 Vikram Aggarwal <viki@google.com> am cb3713f1: Merge "Check outcome of ContentProviderTask() completion." into jb-ub-mail-ur8

* commit 'cb3713f1d7b973c1aab37027d5aaad5f30633ca6':
Check outcome of ContentProviderTask() completion.
cb3713f1d7b973c1aab37027d5aaad5f30633ca6 28-Feb-2013 Vikram Aggarwal <viki@google.com> Merge "Check outcome of ContentProviderTask() completion." into jb-ub-mail-ur8
bc2e1b13b409086ea6e3edb5e795566b6c4ebb22 28-Feb-2013 Vikram Aggarwal <viki@google.com> am 81230ee2: Add logging to debug mark unread

* commit '81230ee24b65099109ee91add5a137d3795c454a':
Add logging to debug mark unread
81230ee24b65099109ee91add5a137d3795c454a 27-Feb-2013 Vikram Aggarwal <viki@google.com> Add logging to debug mark unread

Also, log problems with not finding the CLF only on tablets, where we
expect the CLF.

And only exit detached mode if we were in detached mode.

Bug: 7326925 Mark Unread Non-Functional When Viewing Message

Change-Id: I9eb8d8ac28f7c95c5c865f1051c5ed0baa066ec4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d9895b65e074a2cd68ad2aaa87d7b49f05bacdbe 28-Feb-2013 Vikram Aggarwal <viki@google.com> Check outcome of ContentProviderTask() completion.

Change-Id: I1ed7bfc0d5ec19fa4ac798af4f3dcb06be953e97
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b10212ef23a4e2317fc43c62dff9ad177b5bcf2c 23-Feb-2013 Scott Kennedy <skennedy@google.com> Remove Folder string serialization

Bug: 8274830
Change-Id: I2669aeb4565458f665becef2fdd4e40bc1fc0093
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6e729ca415df8254f0f2007793f97246f18f767f 25-Feb-2013 Scott Kennedy <skennedy@google.com> am cb85aeaf: Fix crashes related to the notification undo listener

* commit 'cb85aeaf327e2c6a326457b5a395b4d6cdb70d63':
Fix crashes related to the notification undo listener
cb85aeaf327e2c6a326457b5a395b4d6cdb70d63 25-Feb-2013 Scott Kennedy <skennedy@google.com> Fix crashes related to the notification undo listener

There were some issues with registering and unregistering the
DataSetObserver from Ib88a14142238b5553f80d59e67be5f64ab2a28fb.

This moves the observer to the AbstractActivityController, allowing
its registration to be tied to the Activity's lifecycle.

Bug: 8262838
Change-Id: I388bb54b01a6cb16df6104297791076dae120e4e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fa35361c753dd6707268a5eb02ab1a3b44db78ce 23-Feb-2013 Scott Kennedy <skennedy@google.com> resolved conflicts for merge of 1ecdd95f to jb-ub-mail-ur9

Change-Id: If3d898d8f78e8dcfeadfed07edf544b1a75cb2d1
08a079c3d2857e365736432b2691187767eb116f 22-Feb-2013 Scott Kennedy <skennedy@google.com> Hide conversations from list after removal via notif action

If a conversation is archived, deleted, or has a label removed via a
notification action, we should hide it from the conversation list
until either the undo notification is activated, or it times out.

Bug: 8248145
Change-Id: Ib88a14142238b5553f80d59e67be5f64ab2a28fb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
54ed5c67919c7a7a3f26d286de91f196d664b1c8 17-Feb-2013 Andy Huang <ath@google.com> am c1fb9a9c: Single-message zoom using a floating WebView

* commit 'c1fb9a9c2730178105977fca629e80951bfc3cdc':
Single-message zoom using a floating WebView
c1fb9a9c2730178105977fca629e80951bfc3cdc 11-Feb-2013 Andy Huang <ath@google.com> Single-message zoom using a floating WebView

Protected by an experimental pref for now
Restores scroll position
Preserves 'show pics' state
Speedy animation
Fade-in animation begins right after onNewPicture (ICS compatible!)
add UpOrBackController role for fragments to get a whack at back/up

And because this approach avoids using the CSS 'zoom' attribute
within single-message mode, double-tap works well and there are no
line-height issues.

Bug: 7400516
Change-Id: Idedfa6e35edc291c9169fbd9b1315b39b4253f60
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
aab9bc71f2d8742128361dff72f77543f81dde52 07-Feb-2013 Rohan Shah <shahrk@google.com> Support "Move to" functionality alongside "Change labels"

Cherry-picking Rohan's original change since I messed something up
while fixing conflicts.

User cannot move an email from one defined label to another.
Change label is a hassle to use to only select one and a
menu item for moving is preferable.

This change introduces the "Move to" as part of the overflow
menu. It allows for users to move emails from folders, excluding
Starred/Important.

Bug: 8157593
Change-Id: Iaf8660fb01f731f5cbcb2253a3768b0d7b429132
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
08acec953aae66b72bc1a410dc3a74c7fb8de9cb 12-Feb-2013 Vikram Aggarwal <viki@google.com> resolved conflicts for merge of 49ae5116 to jb-ub-mail-ur9

Change-Id: I87876b9595adaf37f8db250f6c7b83b0b5be0756
8b400f513713aea047d092bff5caa45b65776b54 11-Feb-2013 Vikram Aggarwal <viki@google.com> Merge "Support "Move to" functionality alongside "Change labels"" into jb-ub-mail-ur9
49ae51166a34454460890a384db2be2d971309d0 11-Feb-2013 Vikram Aggarwal <viki@google.com> Merge "Needs to go in UR8." into jb-ub-mail-ur8
5c4db951d8f23d59866deaa49b31f8ff0c81d694 11-Feb-2013 Vikram Aggarwal <viki@google.com> Needs to go in UR8.

Revert "Support "Move to" functionality alongside "Change labels""

This reverts commit 0a4af34f6f4dce23a8c5b39e94fb91ff0f6260d1

Change-Id: I25d0311396033fb5759596e4a56792abb7f355fb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fa427c96b651512cc3b314b5769f4f98d573428d 11-Feb-2013 Vikram Aggarwal <viki@google.com> Merge "Support "Move to" functionality alongside "Change labels"" into jb-ub-mail-ur8
00bbdef40b1d1e5fda3ac9157550f2da74b37163 07-Feb-2013 Rohan Shah <shahrk@google.com> Support "Move to" functionality alongside "Change labels"

User cannot move an email from one defined label to another.
Change label is a hassle to use to only select one and a
menu item for moving is preferable.

This change introduces the "Move to" as part of the overflow
menu. It allows for users to move emails from folders, excluding
Starred/Important.

Bug: 8157593

Change-Id: Ib5ae9f04b52f3f5d0f2d2ddb590219f7733cf171
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dae287c6b4058a27b6a069e51829f72fec903a62 08-Feb-2013 Paul Westbrook <pwestbro@google.com> resolved conflicts for merge of 83e6b574 to jb-ub-mail-ur9

Change-Id: I949422329f8b9a1e19380b301b8fe4f529a46fe0
83e6b574cffd06164cad18ee388237a9427ceb3f 06-Feb-2013 Paul Westbrook <pwestbro@google.com> Enable screenshots in feedback reports

This will allow us to get more information about user's problems

Bug: 6102742

Change-Id: I49d04d884f2d2316fe642554a2f9747807508c61
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d5edd2d02649dffb40065fdb6a16acf91552b800 05-Dec-2012 Scott Kennedy <skennedy@google.com> Move notifications to UnifiedEmail

This involves redoing the persistence model, to split general,
account, and folder settings into separate SharedPreference stores.

It also requires some preferences to be moved into UnifiedEmail.

Depends on I71802444add85dc01f6645906a629ff80b964222 (UnifiedGmail)
Depends on Ie6ec389b5b5d2e7ab1b299d0877811ae716526e2 (Email)

Change-Id: Ibe2e3f93ec164370535ffc5f5b2409544cc8d36d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0a4af34f6f4dce23a8c5b39e94fb91ff0f6260d1 07-Feb-2013 Rohan Shah <shahrk@google.com> Support "Move to" functionality alongside "Change labels"

User cannot move an email from one defined label to another.
Change label is a hassle to use to only select one and a
menu item for moving is preferable.

This change introduces the "Move to" as part of the overflow
menu. It allows for users to move emails from folders, excluding
Starred/Important.

Bug: 8157593

Change-Id: Ib5ae9f04b52f3f5d0f2d2ddb590219f7733cf171
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a91d00b4de3092b41af5f36436d3b49fe4586f64 18-Jan-2013 Vikram Aggarwal <viki@google.com> Many fixes to detached mode

1. Unselect the top conversation in list (by un-setting activated
state), before entering detached mode.
2. Set choice mode to NONE to avoid changes to the selected state in
detached mode.
3. Allow for recovering from detached mode by tapping on a valid
conversation in the list.
4. Bypass most of the action in CPA.notifyDataSetChanged() in detached
mode.
5. Pop out of conversation view if there are no messages (when
detached and the detached conversation is expunged).

Bug: 8026749 Detached mode triggered even when not detached

Bug: 8025487 In detached mode, CPA.notifyDataSetChanged() shouldn't do
much

Bug: 7337160 Subject and message body mismatch

Change-Id: I7b578ab929ee6a7d18002567b1cf4aaac54b0480
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5b9ed2b056e0757ccc26e51aba7d5ff12378baaa 29-Jan-2013 Vikram Aggarwal <viki@google.com> Fix CAB mode on tablet

Forgot that CAB mode is available on tablet, and broke it in a recent
change when removing views being passed around. Original change that
introduced the bug:
https://googleplex-android-review.git.corp.google.com/#/c/264821/

Bug: 8025486 CAB mode broken on tablet GMail

Change-Id: I51d8a219f9e9e9dc28e7ef9259cb51826f774eef
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bcb16b98140a83a4db3c51568d21c839595f73df 29-Jan-2013 Vikram Aggarwal <viki@google.com> Check tablet mode through resources

Change-Id: I790fef6ef7ce3ca97ebba1fa220f44123c2d2e9d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
59e574d0d3e823fdda91db34b269a1dd1b86dcc3 29-Jan-2013 Vikram Aggarwal <viki@google.com> Merge "Remove obsolete TODOs and obsolete code" into jb-ub-mail-ur8
5bc4f4ac341edfd7b5ba9d810c6255cab58060c2 29-Jan-2013 Yu Ping Hu <yph@google.com> Merge "If conversation list cursor is not loaded, defer mark unread until it's loaded." into jb-ub-mail-ur8
d31f0cf7dc06292527e23853b818aa9c9bc74ba6 19-Jan-2013 Vikram Aggarwal <viki@google.com> Remove obsolete TODOs and obsolete code

The extra constant was kept for compatibility. It has been renamed to
ACCOUNT_INITIALIZATION_REQUIRED

Remove TODOs that aren't valid anymore.

Change-Id: I9fa0ca638e1b2f6578895b77a7087362bda3ce2c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7c909c76deb748e6aca82e885a9fbaee52adeb9c 18-Jan-2013 Yu Ping Hu <yph@google.com> If conversation list cursor is not loaded, defer mark unread until it's loaded.

Bug: 7357200
Change-Id: I176d2c37c14679bb98b35dd40eaf3d1b3a77d1ed
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f98db959678b7d632dc7f40a7b930e9dab7a616f 17-Jan-2013 Vikram Aggarwal <viki@google.com> Clarify assumptions and simplify

No feature change.

Change-Id: Ifd198873f9f8729d694ca23cf2629d721e6a31ba
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6422b8d051c93b4f34580c551254fc50c9efa4db 14-Jan-2013 Vikram Aggarwal <viki@google.com> Check fragment visibility correctly.

Does not fix any existing bug. However, noticed in bug 7996654 that
isVisible() does not take window focus into account, so identifying
other cases where we check for fragment visiblity and fixing.

Bug: 8000069 Check instances of isVisible to avoid future bugs

Change-Id: I99d8606b69abb69b77c93ce1418ff2ff66ec65ee
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2fe343f37226123e7cd5741d40be606dcf4edaab 14-Jan-2013 Vikram Aggarwal <viki@google.com> Detect null mail instance

During test runs the MailAppProvider can be null, so detect that first.

Bug: 7998963 Running unit tests coverage throws NPE in multiple tests
in Gmail2

Change-Id: If068c7f3d95c82078757277e0e10696f53243134
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5ddd1dd97bfd168f00fe5cf553cccbe6989c9b64 14-Jan-2013 Paul Westbrook <pwestbro@google.com> Check the activity's focus state

Fragment#isVisible() can return true when it isn't visible to the user, so
we need to check the Activity's focus state before marking a conversation as
seen.

Bug: 7996654
Change-Id: Idd2fe81a7997d3602d485cf68a285740935a95df
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7704d79def5e5f36a1cbe22fbbe6e9520503899c 12-Jan-2013 Vikram Aggarwal <viki@google.com> Restore the CAB mode on orientation change

Currently, the CAB mode is restored only when the Conversation List
Fragment (CLF) is available. The CLF was needed earlier because we
grabbed views from the selected conversations. We don't anymore, so
the CLF dependency can go.

However, we cannot always restore the CAB mode, we might be in
conversation view mode on the phone. On orientation change, we want to
show subject view in the ActionBar, not CAB mode. So we need to check
the view mode before doing this.

Bug: 7742352 Selected message action bar icons (delete,start) are
missing from Gmail inbox list after orientation change

Change-Id: If6dcae413f07fe708c3cd6c970b2245b58c0a23a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
669947bf67a3d0eed377b18099bb873604ad5009 11-Jan-2013 Vikram Aggarwal <viki@google.com> Remove views from selected set.

The views were originally being used in the ConversationListFragment
to delete items. They are no longer being used now, but we still
maintain extensive maps and pass the collections around. We can stop
doing this extra work.

This does not fix any bug, but the cleanup was found while
investigating the bug below.

Bug: 7067964 Gmail: archives wrong message

Change-Id: I2b7d387fe5ab078b2006f27cc8167b354d0bb1c8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
82d37501827cf9770ba4610dd6f81c7a3a14b2e1 11-Jan-2013 Vikram Aggarwal <viki@google.com> Just use the default directly.

Change-Id: I424e964299ebd4e00e7ef02e6a0e9ef819426e93
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
69a6cdff8afde77ec9bcd75a5651ee212344019e 09-Jan-2013 Vikram Aggarwal <viki@google.com> Allow veiled address pattern to be updated through settings

Change-Id: Ibbd412308283fd2c0cae0abbec0a43be1db1b3ad
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b8c3171710b7f97247fd0c841ce95f5f515ef576 04-Jan-2013 Vikram Aggarwal <viki@google.com> Use confirm fragments for all operations

The previous change used confirmation fragments rather than dialogs
for actions on selected conversations. This change expands that to
all actions that require confirmations.

Bug: 6022869 Confirm actions (Deleting / Archiving / Send message) pop
ups are disappear on orientation change in Gmail

Change-Id: Id7714da8608816721089f46811be2688f34ae4f7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7460a1c7b617a6a67d3f24c699d0b16a78a3c02c 29-Dec-2012 Vikram Aggarwal <viki@google.com> Remove activity leak

The conversation cursor was maintaining a static reference to loaders
and the resolver. When the cursor was loaded immediately after
orientation changes, the CursorLoader framework returns the existing
cursor. This cursor contained the reference to the old activity. This
also meant that the sResolver reference was stale till the
conversation cursor was recreated.

As suggested by ath@, we remove the static ContentResolver, and rely
on a member.

Also, as suggested by ath@, we use the ApplicationContext, which
removes the inner memory leak that was being caused by the
CursorWrapper holding on to a context, which held on to the previous
application.

Just one activity on rotate (after GC).

Also contains minor code cleanup: removing unused import and cleaning
up incorrect javadoc on methods.

Bug: 7883592 mild activity leak

Change-Id: I09043c38055e5d7ed2fb345286b1f293e39bf4c3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f6c00b8304062a17d14b484bd1fc33a83c4a90d7 03-Jan-2013 Vikram Aggarwal <viki@google.com> Remove NFC handling from AbstractMailActivity

1. Remove the NFC code left behind after
https://googleplex-android-review.googlesource.com/#/c/210327/

2. Expose one fewer method from MailActivity.

3. Does not fix the activity leak, but does make leaks easier to
debug.

Bug: 7883592 mild activity leak

Change-Id: Icde61c9b3251bf1686c50e4b5184d3d56fd2941a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6cadbfce032c5f8d61c873d91989bff1fb7cc4e5 27-Dec-2012 Vikram Aggarwal <viki@google.com> Use confirmation dialog fragments

1. Create a listener for the positive action in the controller to be
able to create on orientation changes.
2. Create a dialog frament for confirmation dialogs.
3. Hook up with selected conversations action menu for now, other
dialog objects to follow...

Bug: 6022869 Confirm actions (Deleting / Archiving / Send message) pop
ups are disappear on orientation change in Gmail

Change-Id: I206c8102d49df0a0f41198b7fd149fb711235a97
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b2ef9c18d1f68543d9c782e1952b70d3bbcd94d6 18-Dec-2012 Andy Huang <ath@google.com> Clean up ConversationCursor listeners

The activity controller listener needs to be cleaned up on orientation
change; onDestroy is a good place to do that (onLoaderReset isn't called
on orientation change).

Also ignore stale refresh-ready signals, since they may fire after a
controller is destroyed.

Bug: 7564651
Change-Id: I1b9b7e63cca3c4bf4120e7b5ce93daccb3f33ee7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5cc0ab20009100e3ef259fe3d2e3ddc357f79285 11-Dec-2012 mindyp <mindyp@google.com> Update folder changes from UPDATE_FOLDER_COLUMN to FOLDERS_UPDATED

fixes b/7710067 clean up leftover cases of folder updates that aren't yet using folder diffing (FOLDERS_UPDATED)

Change-Id: I145c7ba39ea705772fdb7a47990d3ff7831401cc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b2033d855ab0f13e253e5403ce25989bcbc49488 08-Dec-2012 Andy Huang <ath@google.com> Convert rawFolders from String to FolderList

Continuing in the Parcel > String vein, switch rawFolders to use
FolderList, a small immutable Parcelable class. Individual
Folder objects are still stringified when used alone, but those
are not time-sensitive cases (e.g. generating a view intent).

Traceview on Nexus 7 shows 61% speedup in serializing and
deserializing folder rawFolders. Overall time for Conversation
construction appears to go up, but that's because the previously
lazy-deserialization is now done in the constructor. I think
this is okay, since the only performance-sensitive codepath
that constructs Conversation objects is the conversation list,
which always needs rawFolders.

Bug: 7690709
Change-Id: I42eadd79aaeb260f3d9642bf930437a69e510282
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
351ad4e87e0b0b98df9ca88266a8a63541dc5a81 07-Dec-2012 Andy Huang <ath@google.com> use parcel intermediate format for ConversationInfo

Instead of passing ConversationInfo/MessageInfo around as
Strings from provider->UI, use Cursor's blob functionality where
the blob is the marshalled form of the parceled Info objects.

This should be a acceptable use of Parcel, given that we are not
persisting this form, and it only exists to facilitate
provider/UI communication through the generic Cursor interface.

Parcel blobs are fast, well-tested, and do not require
input sanitization.

Traceview testing reveals pretty good gains in Conversation
construction (29% faster on Nexus 7), which is most of the work
in getView().

Change-Id: I05451fba2201ca2f2c3ee76c80fb356c36e8ccad
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
26746eb4acb159f3ce0d411c10d85a1de3e958a0 06-Dec-2012 Paul Westbrook <pwestbro@google.com> Use a single operation to for updates

This combines both the delta update and the full update into a single
conversation operation. Clients that know about the partial update will
use that, while older clients will do a full update.

Bug: 7427595

Change-Id: Iab0ece2c5469d0fd7b8fc5b92acaddc4bfa26add
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cb0b30ee1d5cfcc267bc7de1e6ad78ed766c1e50 30-Nov-2012 mindyp <mindyp@google.com> Change the UiProvider contract to only send deltas when changing folders

Change-Id: Ic69807f0e8f6ddf06f9e34600089054fe868b9cd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
17a8e78d61bff414610e23f24889bab29955f54e 29-Nov-2012 mindyp <mindyp@google.com> Don't animate committing destructive items when we are opening a new fragment/view

Fixes b/625303 Swiped away message reappears.

Change-Id: I273fa2e69d3fe599af52f41c4ebb4c373e193272
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ae7e6a0786a2d890b77c783d7ac39a90523b8154 29-Nov-2012 mindyp <mindyp@google.com> Update dropping into starred folder to match web

Dragging to starred folder: remove from starting folder, add star
Dragging from starred folder: move to new folder; leave starred state
Fixes b/7633742 Mails are disappearing after Drag and drop mails to Starred folder

Change-Id: Ibcbaa482f6d913cf486f0716e58bcd491efd1841
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8fb8e26c2367957b5d427f193d9b277731a8041c 29-Nov-2012 Scott Kennedy <skennedy@google.com> Respect auto-advance setting from search results

Bug: 7322750
Change-Id: Id7b84382da5cfdc4f047dd7349e9584797f6cac9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d27009ac6644a85ebcd1c705f40d2b5e9fd03573 27-Nov-2012 mindyp <mindyp@google.com> Only show the first conversation for search results if the user hasn't already selected one

The user may have selected another conversation while remote results were loading
OR after some other refresh to the cursor came in

Fixes b/7620947 Cannot select older search results in Gmail landscape mode

Change-Id: I72a7ddbbadf86416dfc66b7eca1277dd09fac0a9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8883f228890572a8d85d06b1e0bf08c65bd42db4 13-Nov-2012 Andy Huang <ath@google.com> fix position tracker issues that prevented auto-advance

ConversationCursor must unwrap conversation URIs before looking
up in its position table. The other contains() usage from
resetCursor() looks correct.

AAC.setCurrentConversation should init the position tracker
with the new conversation, not whatever was there before.

Bug: 7529090
Change-Id: I4ad7f4550f29a29d2ac666354ea6153da2fc8a88
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2bc8bc1f69faacaddab41ab61e1d2e8658f4181f 13-Nov-2012 Andy Huang <ath@google.com> fix restoring nested Parcelables

Any Parcelable that contains other parcelables should have a
CREATOR that extends ClassLoaderCreator so it can pass along the
classloader when reading the inner Parcelable.

This is how Fragment.SavedState works. Hooray for not
fabricating classloaders!

Bug: 7517657
Change-Id: Iae9c3cfa291a956659eabb501b9c57fa3c2707c9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cd12e82dead8a920b060340c037d51b144966a73 09-Nov-2012 Andy Huang <ath@google.com> fix starring after rotation

Starring a message depended on having a working
ConversationController. But while rotation retains the
Loader/Cursor/Messages, it makes the controller (actually a
Fragment) useless because a new one is made.

So have onLoadFinished ALWAYS update the Cursor's controller
to point to the current Fragment before using it.

Similarly, it isn't great that the Cursor points to a
Conversation, which may be old after rotation. That one is less
bad, since a Conversation is relatively static, but everybody
should be on the same page after rotation, so stop caching
internal Conversation references in the Message/Cursor/Loader.

No null checks on conversation/controller get(), because they
really should never be null on access. NPE is as good as
anything to catch these cases.

Bug: 7295695
Change-Id: I949f53779afc820eae0f05da4618e570db381942
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f0ef23054a2311f898955178ff53a2f29ca425c9 07-Nov-2012 Vikram Aggarwal <viki@google.com> Only enter conversation mode if we have search results.

We currently enter conversation mode even if we don't have any
conversations from search. This results in a blank conversation view,
which is not satisfactory. Instead, we should only enter conversation
view if we have some conversation to show.

Bug: 7315837 Rotate device while searching in Gmail is showing blank
screen

Change-Id: I28cbd8998a5de1bb526a56b66cc54d35057c7a3d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
339004b1d81b34682ef56f6ea0b3b9fccc133753 06-Nov-2012 Paul Westbrook <pwestbro@google.com> Fix NPE in unit test

Bug: 7480126
Change-Id: Id244e124df150533794e4a573862faed37714303
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
472e53693c6f6c1af335a2286f30e8dfbc2499e1 05-Nov-2012 Vikram Aggarwal <viki@google.com> Remove switchAccount, reduce confusion.

Bug: 7019552 Resolve setAccount, switchAccount in AAC

Change-Id: Ic40a27a96500d3d8ba4a8176fb6545b8105004a8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
93dc202420c3bf8adf4d9e8ae18c8e30e3cb1959 05-Nov-2012 Vikram Aggarwal <viki@google.com> Make up icon work consistently for recent & label list

Fixed two problems with the up icon. Removed the visibility of the
resetActionBar() method and removed code duplication.

Bug: 7419208 Up arrow next to app icon isn't updated in two cases
Change-Id: I0b166bfe9984eb4f5ce0370d1c0abbb036fab93d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5109c516b5cac279b4f99271953a27dd9a4828d8 05-Nov-2012 Paul Westbrook <pwestbro@google.com> Support for suppressing undo

The undo bar is not shown for some operations. Allow the
UI provider to not override an existing undo operation when the
undo bar is not being cleared

Bug 7477202 has been written up to add this parameter for other
operations

Bug: 7465798
Change-Id: I8acdb32a9fe857b91cb38923161fa1f6250ea8fd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
218d4e8a958510c26a4fa998eb09cafeb172879c 05-Nov-2012 mindyp <mindyp@google.com> Merge "Make sure that we get the expected notifications to update the conversation list." into jb-ub-mail
5c1d8354ce98be2fc77d458bcc5c3346765046a0 05-Nov-2012 mindyp <mindyp@google.com> Make sure that we get the expected notifications to update the conversation list.

Logging for b/7318651 gmail stopped syncing, or ui stopped updating

Change-Id: I0a6fc2af682a42092356e3038a0b3429f54d5ca6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9e357e62d206dc7cacd00d79b3dc693384d98f4e 05-Nov-2012 Vikram Aggarwal <viki@google.com> Fix empty recent folders

Plus, avoid restarting the loader twice (setAccount already does this).

Bug: 7203516 Gmail: no recent labels shown

Change-Id: I8d108094a850bfae893782529d9dce0257fdb884
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0d0f8b061faae060529af4da339eed2d728ef1bd 13-Oct-2012 Scott Kennedy <skennedy@google.com> Prompt for auto-advance option on first action

If we're on a tablet, we will pop up a dialog that asks the user what
they want to do. When they select an option, we save it, and take
the original action, and auto-advance to their preference.

Bug: 7328118
Change-Id: I7b11bd0d17e6cc184b67c8c943531146fc964b49
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d243d459b64003c5171ac5ff606729e525161be6 01-Nov-2012 Mark Wei <markwei@google.com> Reposition Undo Bar if user enters into conversation before or while the
animation is running.

Give a little bit of margin to the Undo Bar when it is not shown in the
conversation to match the amount of empty space under the Undo Bar while it is
shown in the conversation.

Bug: 7418034
Change-Id: I7f4333b9bc89e8c55a938c8aeb37026abc419a1a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a3f43d4c2423ab03bdae925042fe8440b7f70025 26-Oct-2012 Vikram Aggarwal <viki@google.com> Allow immediate removal of a wait fragment.

Another variant of the problem, where adding a wait fragment and
immediately removing it (all in handleIntent) doesn't work because
getFragmentByTag() fails.

Bug: 7377741 Waiting for sync didn't dismiss when attempting to view
conversation

Change-Id: I5536cb692dfb57bf998c0f01b34e42fe3118789c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e0afef979657256a2014024babe51d099e254a57 25-Oct-2012 Vikram Aggarwal <viki@google.com> Check for all server-side settings when comparing accounts.

A bug in the implementation of cursor loader (b/7414503) can cause us
to miss updates to the account update cursor loader. Work around this
by comparing all the server-side settings in addition to the user
settings when a new account list is available.

Bug: 7377741 Waiting for sync didn't dismiss when attempting to view
Change-Id: Idd03965f0d1959cdb09c9f0ee10c4c9c60ed235d
conversation
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dd6a7ce32c4003bd0941e2f18fcf5b80b5cd43c5 23-Oct-2012 Vikram Aggarwal <viki@google.com> Reduce visibility of methods

Change-Id: Icb0d2698debfcecb440477a6125d8981b8e68bfb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8f98ac013f775cdf186578018f926ac329070541 02-Oct-2012 Mark Wei <markwei@google.com> Prevent change folder dialog from opening more than once.

This CL has signification refactory that consolidates
Multi/SingleFoldersSelectionDialog.

Bug: 7247467
Change-Id: I1aacba68411d4b9cc586482d0f17c5c90df36e04
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
34f7b236154528e8632d1306f1250d52427b1036 17-Oct-2012 Vikram Aggarwal <viki@google.com> Show wait fragment when not initialized

Bug: 7332256 added a new account - no waiting for sync screen and I
still see previous inbox

Change-Id: I77dd4ba6464ebdd8e1b93b2bd4b478063a7f62c7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1faf93d79a00acb0fe607495c39f87d53a05889b 16-Oct-2012 Paul Westbrook <pwestbro@google.com> Prevent NPE when marking unread

If the conversation cursor is null marking a conversation as read would
cause a crash. This CL prevents this crash.

Bug 7357200 has been written to handle this case better

Bug: 7355801
Change-Id: I2cfa4ff3165b6c1171adfd70dea98b1707d1de95
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6f54e1b0e8beae2e624852f9f2f2b1b38745e3be 09-Oct-2012 mindyp <mindyp@google.com> Defer folderlistfragment updates while we are animating.

Part of b/7301434 gmail extremely janky on manta

this will have no effect on phones as we never show
folderlistfragment at the same time as convlistfragment,
so we can never be animating!
this will also never trigger unless the user causes an explicit
delete of an item, since only that triggers animations.

Change-Id: I27cf0542897e364212ea687e2eef9a424a2090a5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7f55c685376659550ed11b047a78cd8d70158ad9 04-Oct-2012 mindyp <mindyp@google.com> Use initial version of the cc cache fix.

We need to selectively do a few things:
1) dont update the conversationinfo if we haven't changed the read state;
this means we wont override the cached conversation info unless totally necessary
2) add sendingstatus to the set of flags we check to see whether or not to redraw
the conversation item

uses marc's initial cc fix

Fixes b/7258975 Reading conversations doesn't immediately mark them as read in UI

Change-Id: I647ebb3d20115b5f73ef50ad0fb860d067d4dfd7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9eb1c9a76a400f84c002b58c831119119ebf4870 01-Oct-2012 Mark Wei <markwei@google.com> Prevent change folder dialog from opening more than once.

Bug: 7247467
Change-Id: I0b5583830d7c8c2f63e01714b4a7fa2976d0eefb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
84f7d32bdc79263004ed5241480988e02f8e618c 02-Oct-2012 mindyp <mindyp@google.com> We want deferred actions when doing anything destructive when a list is present.

Fixes b/7257433 Archiving from gmail label fails, but only on nakasi 3g?

Change-Id: I6e10d792f7f9ebd433072ad2af10d1f60eb90ef1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f0656a1ed2aaf07ee738505faa80b0723c8d217f 01-Oct-2012 mindyp <mindyp@google.com> fix behavior when user has a confirmation dialog associated with a destuctive action

1) check that they tapped the positive button
2) use a deferred action, so that it isnt performed til the user taps "ok"

Fixes b/7243637 undo bar appears even if action was canceled

Change-Id: Ief03e30fe9a115bf868875a3b1d4c973cac006fb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ca87de41285bde382a894b6cb2d13c112c5d7a2f 29-Sep-2012 mindyp <mindyp@google.com> only get content description when accessibility is enabled.

Getting the date is the most expensive part of the bind operation
takes ConversationItemView.bind from ~5ms to .5ms
bind is called whenever we get a list item view, so its important that its FAST

Part of b/7188066 Gmail inbox list fling is jankier comparing to previous release

Change-Id: If789382df6429f61ac80c4be08611c5391da5618
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
81a4f08b1657bb297cd977e3df92660fab05a1ab 28-Sep-2012 Vikram Aggarwal <viki@google.com> Update the conversation cursor state in CLF

1. Fix lack of adapter update in CLF.onCursorUpdated().
2. Call ConversationCursor.sync() in onActivityCreated() rather than
onCreateView().
3. Pre-emptive NPE fix in FolderObserver.onChanged().

Bug: 7243503 Selecting notification attempted to load wrong
conversation

Change-Id: If097e3fcf07c68609c8f620160ef598897ab41af
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9d3fd92ed6091dbd0d38799222a1cf841f1c3f29 27-Sep-2012 Andy Huang <ath@google.com> Wait for visible conversation to load before loading others

add conversation load observation APIs to CLC interface
save/restore CVF user-visible flag
move CVF state restore to ACVF's onCreate
start using FragmentRunnable to avoid doing work too early
(before ViewPager settles)
clean up unused onConversationLoadError codepath

fixes undefined conversation load order on rotate
improves conversation load speed a (tiny) bit

Bug: 6268986
Change-Id: I4670d0c04cb1a36d5aa2c5355e2a79de17d042dd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dfa1dec0cfdc263c51e971dc3c41b90386a24340 27-Sep-2012 Paul Westbrook <pwestbro@google.com> Prevent spurious Waiting from being shown

Now the account can represent the state that it hasn't been initialized
when it can't give a definitive answer about whether a sync is required.

The Compose Activity and Widget selection activity still will show
the wait activity if the account is not fully initialized

But the Abstract activity controller will only show the wait fragment
when the account object has been initialized enough to give a definitive
answer about whether sync is needed

Bug: 7090741
Change-Id: I5e68f074418983b759f0e8a96fb08b65e81406e8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
41b9e8f7bea47bbcae71b9ae81c3608a00a90e70 25-Sep-2012 Vikram Aggarwal <viki@google.com> Fewer toasts when there are connection issues.

1. We don't show the toast on synced labels.
2. We don't show a toast when background syncs fail.

Still TODO:
1. Showing a toast when the user hits the refresh icon
2. Showing a toast when we enter the app for the first time & no connection exists.

Bug: 7202801 "No connection." error

Change-Id: I312a5670aeedfc2f8e3dda11e662f2905027993f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a8492633481c1724d2f6d418594faf6e982d3dc9 24-Sep-2012 mindyp <mindyp@google.com> Remove the current folder when dragging to a new folder.

Drag/drop should remove the currently viewed folder as well as
add the target folder.
Add a type for "all_mail" so that we don't remove the all mail folder, since
that is a special provider type.
Fixes b/7216571 JB MR1 tablet: drag n drop does not remove the label where the msg was dragged out of

Change-Id: I80061f9ee4f58c9ff24b290662f46724c89e61f2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f9ba871939157867c1cf575e8e07abcd666bf560 23-Sep-2012 Vikram Aggarwal <viki@google.com> Recover from clobbered recent folders

We have had a few bugs where the recent folders get clobbered. Since
there are always at least two default recent folders in each provider
(Drafts and Sent, at least), we should never land up with less than
one recent folder. If this is the case, gracefully recover by
requesting default recent folders.

(More often than not, the single recent folder is the inbox, leading
to no recent folders shown: we do not show the inbox in the recent
folder list.)

Fixes
Bug: 7138082 Recent folders appear not to work w/ Exchange
Bug: 7203516 Gmail: no recent labels shown

Change-Id: Iad25185635ed1b5278c8010662f20f99a12df588
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
636c1a1bf144e28a8a1ab022dfcfba83c7b1ca1b 23-Sep-2012 Vikram Aggarwal <viki@google.com> Preemptive NPE fix for null cursor.

If the cursor is null, AAC.accountsUpdated crashes abruptly. We aren't
observing this yet, this was discovered while investigating a related
issue.

Bug: 7100404 Order of accounts in email is broken
Change-Id: I2c9021142865eda69ceb9a3c97187086854af9e8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
49e0e991fe8880852b936a0f8d7d57c5b36f2154 21-Sep-2012 Vikram Aggarwal <viki@google.com> Not in conversation view -> unset current conversation

When the current conversation goes out of visibility, we should unset
the mCurrentConversation because many objects get the conversation
from AAC.getCurrentConversation().

I tested this with both one pane and two pane, with search and
otherwise. But I wouldn't be surprised if this breaks something. If it
does, revert!

Fixes Bug: 7205219 Message list is scrolled down by itself until it
reaches last read message

Change-Id: I263c07e8063e7094a1defca76dde788b52df71ff
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0c3c2058f75487713c64634c7f08025fd78ba012 21-Sep-2012 Vikram Aggarwal <viki@google.com> Explicit Intent to view Inbox

The Compose Activity was creating an intent with a folder object
populated with uninitialized values. Using this object is very
unsafe. Since the entire goal was to view the default inbox, that is
easily done by passing an intent without a folder. AAC.handleIntent()
shows the default folder when only an account is specified in the
intent.

Since using new Folder() is very unsafe, the method is made private,
and a static method with a suitably dangerous name was created to
ensure that callers are aware of the peril involved.

Fixes Bug: 7139995 Empty conversation list

Change-Id: Ic3e254630afd59a59caba10f2249e3e451005d63
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1672ff8ed6741df5c245e55f7a4e847f6ccb8c52 21-Sep-2012 Vikram Aggarwal <viki@google.com> Fix NPE and log incorrect state.

Fix issues discovered while investigating the empty conversation list.

Bug: 7139995 Empty conversation list

Change-Id: I64686da10332e716ee4becf2378cc45af9865096
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f807ba7ac1011f7fd1e0d382dcc0518ba3529810 21-Sep-2012 Yorke Lee <yorkelee@google.com> Update ActionBar immediately when entering conversation

Update the ActionBar immediately when a conversation is selected
instead of when AbstractConversationViewFragment is loaded so that
the extra ActionBar icons are not displayed twice momentarily.

Fixes b/7161358 Duplicate "Archive" icon displayed temporarily when an email is loading in the Gmail Android app
Change-Id: I3990c52789d0e9796bec8985c937c1d6f80982e9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e5e917c10cbc4afd31358c0425954e2c27e0fb8e 21-Sep-2012 Vikram Aggarwal <viki@google.com> Don't show two archive icons

Since both R.id.archive and R.id.change_folder correspond to the same
action, they have the same drawable: drawable/archive. Only one of
these is ever selected, based on whether we are in the inbox or in a
user label. The selection is done in onPrepareOptionsMenu, and one of
them is disabled. However, in the time between when the menu is
loaded, and when the actions are selected, the user can see two
archive buttons briefly. The solution is to remove one of them,
doesn't matter which one.

This fixes the issue of showing two archive buttons, but still has a
problem: When visiting a non-Inbox label for the first time, an
archive button is shown in the ActionBar and then hidden.

Fix b/7161358 Duplicate "Archive" icon displayed temporarily when an
email is loading in the Gmail Android app

Change-Id: Ibb9e0291ae8ca73063c4de80c37aa5aa894f54fa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d00229d30e3e24e0a40fb75e7500c15f5ff6138b 20-Sep-2012 Vikram Aggarwal <viki@google.com> Set the folder change only when the folder is different from previous

Required for b/7100372 Need to auto-sync boxes visited that haven't
synced in last X minutes

Change-Id: I683b908a0cfaa4527947290e0c5b762fdb04712f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
026139c958c563266294b7788ed54f57345626b8 20-Sep-2012 Paul Westbrook <pwestbro@google.com> Prevent monkey crash

If the animation ends after the ConversationCursor reference has been reset,
an NPE could be thrown

Bug: 7177905
Change-Id: I004247531eeb1cb975190dd88b7053342c5fb8c5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a7e154530add87e05d1fcee980e1a1fc34a456e7 18-Sep-2012 mindyp <mindyp@google.com> Lots of fixes to move to folder dialog.

Fixes b/6919987 bring back divided "move to folders" sections

Change-Id: Ia7d709c5cd1f8787e2e1083442aa4eaf50d6babb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2b703c6c71a369485efc8ade26d449d25669ceec 18-Sep-2012 Vikram Aggarwal <viki@google.com> Continue showing conversation even if no fragment

If we found no fragment, we were returning from
OnePaneController.showConversation() without showing the pager, or
doing other work.

Fixes b/7183788 Single conversation notification takes user to
conversation list

Change-Id: I241b6dd2e6fb0b0c56536826e364f3a3fda57368
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
17f373ecf6961112f77a7516ab1bbcb4fcdf2884 18-Sep-2012 Vikram Aggarwal <viki@google.com> Conv. list CHOICE_SINGLE, highlights conversations from widget launch

The problem lay in the complex timing dependency between obtaining a
ConversationListFragment (not available immediately after a Fragment
Transaction), setting conversation.position (the tracker was only
calculating the position on requests to next/previous) and updating
the CLF on cursor change (the call to AAC.getCLF failed on the first
conversation cursor load).

The solution is for the CLF to rely on mConversationListObservable to
obtain cursor changes, for the position tracker to calculate the
position when initialized with a conversation, and for the CLF to set
the list's selected position when the cursor is updated (if it hasn't
been set already).

Also, the CLF uses selection to highlight, and CHOICE_MODE_MULTIPLE is
the incorrect option. Using CHOICE_MODE_SINGLE allows us to avoid
calling clearChoices() in CLF.setSelected(int position).

Partial fix for:
b/7145111 item not highlighted in inbox list when open message from notification

Change-Id: I955d83b44b471ca9d4424e779f854bb664036833
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a8e4318bb9921e2ec6045c5f7187a4b78c55fe10 13-Sep-2012 Vikram Aggarwal <viki@google.com> Remove listview reference from selected menu

Fixes b/7093261 delete not working with multiple selected email

The selected conversation action menu keeps a reference to the
listview, which becomes stale in one-pane when we show a conversation.
Going back creates a new list fragment, with a new listview. Rather
than keep a reference to a list view, delegate the swiping delete
directly to the controller which knows about the newest list fragment
and list view.

Change-Id: I8cdd43875c9e3f2c3a003eac8bea250acc7c5a19
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
80861858b5cba57d20fc8deebd011f890b91ab5d 13-Sep-2012 mindyp <mindyp@google.com> Handling even cab mode in touch events.

Dont commit actions when entering cab mode.

Change-Id: I7e23a46e873de57fbb8000c35f59fcb61a74ba42
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9365a826b46b0e274df88e92534f7d871eef2aa2 12-Sep-2012 mindyp <mindyp@google.com> Make sure that if we have selected the current conversation we autoadvance properly

Fixes b/7149402 Respect Auto-advance to conversation list when focused message is in the batch that is archived
Fixes b/7148741 Change behavior for - Swipe to archive focused message in tablet when auto-advance is set to conversation list
fixes b/7148988 Auto advance to previous/next not respected in tablet
Change-Id: Ic033782dffc5982b20090a358b5b972e3d1abce0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
490d032fa9a2c06b60ff30f8526223ead538ec23 12-Sep-2012 mindyp <mindyp@google.com> Don't commit leave behind on orientation changes.

More "directed" approach
Fixes b/7150259 Undo leave behind should remain on orientation change

Change-Id: I3fa59948960db6e4337eb310c58702658c4f8406
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a59283a9856b9356b058575e89dfe3f17fffa529 12-Sep-2012 mindyp <mindyp@google.com> Add a flag to determine if undo is for a batch operation or not

was using count > 1 which is wrong since the user could have checked
a single conversation

The interface SwipeCompleteListner is unused

Fixes b/7149017 Tablet landscape Undo bar not always shown in correct place in cab mode

Change-Id: I213d71d9c4db44723693f76dc7e2a012eba8edc0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3bcf180f8104bc27319086a9a6ece5a3c2917c37 09-Sep-2012 mindyp <mindyp@google.com> Add loading animations to conversation view

fixes b/6272925 jank - conversation loading isn't animated
fixes b/7131797 Blank scren shown for live conversation, when in airplane mode
Note: need to do a next cl that puts off showing the spinner
until at least XXX ms have passed
Also, we cant use the software layer for rendering like we did
in gmail1
it looks like there is a skia crash that triggers when we try
to use software / switch to hardware rendering for the browser
need to investigate that more

Change-Id: I96a30b700c3e88d52e603fe2f11b44d113e013d2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a13b3742522987f768ef9a1a1cddd32ff8105f0e 08-Sep-2012 Paul Westbrook <pwestbro@google.com> Handle background updates to items in selection set

If an updated conversation Cursor removes some of the conversations
from the selection set, this will update the selection set
appropriately.

Bug: 7117871
Change-Id: Iada76d998f1d04808fa2d828348f58c1ba4d0386
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1234aca8ed9374cbc2f86812bb92521c0d0bd623 06-Sep-2012 mindyp <mindyp@google.com> Use setupIntentUri if needed

* We use this when the account to be viewed requires some
additional setup

Change-Id: I7b6352d92da4124e28821e1dd80e3470d5ae66f5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7d64612104fd861474a09994f13768360f92041d 06-Sep-2012 Andy Huang <ath@google.com> avoid doing fragment work during pager swipe

Pager swipe was triggering immediate fragment transactions via
mark-read, so just don't call onConversationSeen so early.

All that really needs to happen immediately when swiping is:
a) subject-in-actionbar should be updated, and b) conversation
list highlight should change. Do both of those now in
AAC.setCurrentConversation, and do only that.

Bug: 6976876
Change-Id: I1f679627b36d25faabc27eb7dc9dac191aab1d7b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a3ed834c959ece3453c1b34953fabecb3b19c424 01-Sep-2012 Andy Huang <ath@google.com> new two-pane layout

New, simplified 2-pane ViewGroup.
This version shuffles three panes around, like the last one, but
also supports other floating children like any FrameLayout
would. The animation is now done using ViewPropertyAnimator.
The cross-fade of the conversation list is now done with a
separate "copy" view (ConversationListCopy) that's animated in
tandem with the real list view.

Bug: 6963808
Change-Id: Icee580f663a50537874c1f98e9bbac822f58e571
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
69b5c304f9572f18c0fcb456d81cccf2e560c72f 05-Sep-2012 Vikram Aggarwal <viki@google.com> Inform the cursor when a folder is first shown.

Fixes b/7100089 Need a way to know when a mailbox is entered

Change-Id: Ib60b8c2ac8e741f0d6fbaaa1656524371d6668f2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
58cad2eea744d41a11c0124e91308e38108d242e 29-Aug-2012 Vikram Aggarwal <viki@google.com> Folder list fragment by sections.

Known issue: the recent folder *and* the user folder is highlighted
when selecting a recent folder. A change is being prepared to fix
this.

Fix b/7074104

Change-Id: I82733bc6be105c6270d17f3c1a281fd4ec15a48a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cc754b102ed65df9d637b4e0a03e645214ea3ccc 30-Aug-2012 Vikram Aggarwal <viki@google.com> Add a bulk update operation for read.

Change-Id: I95a0756f3b51d534a013613136ce265097f2b227
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6a147adc153c52fc4d5320e6e87b8fc366a17d09 30-Aug-2012 Vikram Aggarwal <viki@google.com> Less invalidateOptionsMenu()

1. setAccount() and switchAccount() already call invalidation, so
remove calls just after those two.

2. Settings changes do not change the back button, so don't reset the
action bar button when settings change.

Discussed in b/6946182

Change-Id: I1b8e8d0caf1b20f33ee33c2dd59114597e767de8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d736a385f1ce5e1a59a7953f9245526b37126809 29-Aug-2012 Andy Huang <ath@google.com> minimize state changes to avoid blank views

Disable 2-pane layout transitions for now. Some devices
sometimes don't terminate the transition, which prevents
layouts from happening.

Refactor actionbar's menu prep to avoid unnecessary changes to
actionbar view state. Frequent changes induced actionbar's
internal Spinner to sometimes do layout during a layout,
orphaning view subtrees and causing blank views.

Now that the known root causes are fixed, disable the original
workaround so new issues can surface and be fixed sooner.

Remove an unnecessary menu invalidate in AAC.

Remove unnecessary view containers in 2-pane layout.

Bug: 6946182
Change-Id: I8334a3846996ca06c0da56f1c1a33089a2fca3de
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3825f3d2284b2b57fadcfe6a4ebd9992f3c5c7bb 30-Aug-2012 Andy Huang <ath@google.com> fix spurious stopListening on the pager when loading from widget

When loading from a VIEW intent, the pager was sometimes
disconnected from its data source before the data was loaded,
which caused it to stay in singleton mode forever.

The original code to disconnect the pager was intended to
disable pager updates when jumping back from conversation mode
in 2-pane (via account spinner), so move that call to the
beginning of 2-pane's mode change animation.

Also do a bit of misc API cleanup.

Bug: 7076780
Change-Id: I508b59816f4f537276aa103b9dcae51972389eb0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c4845c5cda745ca346ff6db7c802492c97721007 30-Aug-2012 Paul Westbrook <pwestbro@google.com> Fixed crash

First part of fix for bug 7080676

Prevent crash if the UI provider returns a null cursor from the LOADER_SEARCH
loader

Bug: 7080676
Change-Id: I396db57b7257923003714d7b6e69b9e0b524d3ed
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
389f0b21a9b21bc3607b810c88272d06d48d0fe6 29-Aug-2012 mindyp <mindyp@google.com> Properly batch up conversation folder changes since they may be destructive.

If they are destructive, we want to be able to undo them, so we have
to make them part of the same batch operation.

Change-Id: I5600f8ef65e31256c44bd33440819264e8e8421e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bf133126d3727db85fbd2512f235e2c372156227 29-Aug-2012 mindyp <mindyp@google.com> Fix build

Change-Id: Ibb39bec5dffaba9905565d54fdf65294564fd73b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c84759cc974256b6af5545c4bd993b81a0a98f6f 29-Aug-2012 mindyp <mindyp@google.com> Dont remove selection from dragged item; defer destructive folder change

The destructive folder change shouldn't happen until the animations complete
Or it will be automatically committed at the end
But we prevent updates while that is going on
So we won't get a null conversation cursor in the interim

Change-Id: Id4ee6e1da0e8cf50f1d9ed361eb505a670371085
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
24651b22c31d0a57441c9411514ffeb1026e8c3b 29-Aug-2012 mindyp <mindyp@google.com> Make sure the convcursor is not null before requesting label changes.

Fixes b/7073494 Crash in Gmail while drag and drop multiple mail into trash folder and undo

I want to investigate this case more as it is not clear why it takes so long
for this action to complete/ clear pending state

Change-Id: I63ae3be688c0f47bceaf3bc63dcddf0d9ddaf545
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
649b9ea3653da73fac0c33c8fb0af18baad12ac3 27-Aug-2012 Vikram Aggarwal <viki@google.com> Fragment save/restore machinery

1. Avoids creating ConversationListFragment and FolderListFragment
objects when restoring state.
2. Stores and restores the view mode correctly.
3. Moves core logic to the AbstractController where possible.
4. FolderListFragment scroll position and selected state is verified
working in One-Pane and Two-Pane.
5. Fewer mode changes, less creation and destruction of fragments.

Coming soon:
1. Restore scroll position in ConversationListFragment.
2. Fix some inconsitencies discovered and marked with TODO(viki).

Change-Id: I4d11a576587b8e85300202650381b6e4df3ce61e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
54f120f6ada40c7191811dfff99b151e9e192c78 28-Aug-2012 mindyp <mindyp@google.com> Commit leave behind items when tapping account switcher

There is no onclick listener for it
or onshow for the spinner popup window
this is my best guess as to how to tell when it got tapped
when the popup is shown, the dropdown views will be accessed/ built
Dismiss when cab mode is exited.

part of b/6864248 dismiss leave behind on next action taken

Change-Id: Ib706f61a47356412cef73822a4a40453214d22f2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1ee96b2b100546b5b69ad42c5bc3755a4293d1a3 25-Aug-2012 Andy Huang <ath@google.com> handle missing messages every which way

Entire conversations can disappear upon sync (should pop back)
Or just single messages can disappear (should keep conv in view)

Handle these specially in conversation view. Stay on the current
conversation when possible, except if no messages remain, we
should pop back to list view.

When single messages disappear, make sure we don't treat all
the rest as super-collapsed, or else the conv will render empty.

When popping back to list view, we can't call popBackStack()
from onLoadFinished(). Since we only need to do this in 1-pane,
add logic to 1-pane's showConversation() to handle cases where
the caller is in onLoadFinished. In that case, we need to defer
the work slightly, but still be aware of other FragmentManager
constraints when later handling the deferred job.

Bug: 6889742
Bug: 7005366
Change-Id: Id37f878e82523837b7f105d49fb736f774bad224
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ef3625472596326b910a4445307d1a8eb8c9cc3f 27-Aug-2012 Paul Westbrook <pwestbro@google.com> Added ability to discard drafts

Now the UI can tell the UI provider to discard the drafts for a conversation
(if the provider supports this capability)

Bug: 6315721
Change-Id: If786d13448fdce9a45a54a8762ee1b15e3f29bcd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ea04f938bef8e2ec7c6f64067511f006681318fb 27-Aug-2012 mindyp <mindyp@google.com> Pressing home should clear the undo bar.

Fixes b/7062702 Undo persists after pressing home

Change-Id: I856a625111f35aed8b164023219db4223819f28f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
429399b738f444911117978bf8229036e8814b1e 24-Aug-2012 Paul Westbrook <pwestbro@google.com> Fix crash

Fix Crash when UI provider doesn't provide an intent uri

Bug: 7052133
Change-Id: I1eb42ed382022e95068d0c0dc2ca7e689f89f791
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
aa55bc9cb210a46a950874f368baa07f041a4302 24-Aug-2012 mindyp <mindyp@google.com> Make sure we commit without animating when show a new conversation.

Fixes part of b/7045548 swipe bug
Otherwise, the animation doesn't run and we lose this
Part 2 is going to be to add an ondestroy to the converationlist fragment
to make sure that we always commit if the fragment gets destroyed!

Change-Id: I6bb8f04df75eb38dfe38ee4c9e0930d51035ada6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0f14273565242394cf02092dadd81fd0207c7388 24-Aug-2012 Vikram Aggarwal <viki@google.com> Add to recent folder when conversation seen.

Previously, we were adding a folder to recent folders when it was
opened in the conversation list. Now, we require opening a
conversation from the label before it is added to the conversation list.

Fix b/7052118

Change-Id: Ibdad45a082ce0c7fab29350dc417a07686b8fbae
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
203dc00aff8e890000ee0c9587081e0968fdae8d 23-Aug-2012 Vikram Aggarwal <viki@google.com> Use existing CLF and FLF in onCreate.

This will reuse existing fragments if they exist. If a folder is
selected in the FolderListFragment, it will continue to stay selected
after this change.

Caveats:

1. I would have liked to clean up the existing methods:
showConversationList(), onFolderChanged(), etc. But changing those
might lead to bigger breakages, so duplicating code instead. Code
cleanup happens with UR8. Bug 7048818 filed to keep track of the
cleanup.

2. The current folder is not highlighted if the folder was selected
using recents. This requires the FLF to be a listener for folder
changes. This happens in the next CL.

Fix b/6879926

Change-Id: I500752478f96a1d343a045378cff5472b764cd1f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ead5039b6d606fcc39668a472f8973cbd0bef4e1 23-Aug-2012 mindyp <mindyp@google.com> Delay showing undo bar for a bit after the destructive animations complete.

Allows the user to visually process what just happened.
Fixes b/7022263 Cab mode should exit on taking action not after action complete

Bug name is wrong; read details to see what we decided on

Change-Id: Ia7eb81053adb22e5003ae85fc719ea9a69883ef3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c6adce3cf6887c4c6dd5005724565702751843d0 23-Aug-2012 mindyp <mindyp@google.com> Commit destructive actions when changing folder/ account

Fixes b/7031798 Gmail app crashing re-reporting since issue with previous report

Change-Id: Ie3380c6c5f0777e198f73d95ee6de29d4300f1b5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5390fcabb7baf683fc14bd68d8612913dac70a81 22-Aug-2012 mindyp <mindyp@google.com> Restore drag/drop logic

fixes b/7034633 Drag functionality is missing on tablets

Change-Id: I8d0c9d4a95cf143a307fb093721f3b5f6eba872c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2e0a2369f74b74e15b5dc35a3bdecba2dbd66436 22-Aug-2012 Vikram Aggarwal <viki@google.com> Pager Controller stops listening on account changes

Fix b/7030408

Change-Id: I3d1a52a5bc8699c74f7031f8dbd593791591b780
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
122f7c2cf45cd5f07462a7b0a553f82828a8b1a2 21-Aug-2012 Paul Westbrook <pwestbro@google.com> Handle Authentication falures

Add support for prompting the user for authentication

Bug: 6961624
Change-Id: I6d348a0e6a58ea8729d7f98857ccdfde8307306d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4969e0c5f8ab837e1b0d29ea56d220e6404e9250 20-Aug-2012 Paul Westbrook <pwestbro@google.com> Move ConversationListFooterView click handling

Since the click handling for the ConversationListFooterView is
essentially the same as that of the ToastBar, move click handling
into the Activity Controller

Change-Id: I14b8ef6788b929e82d61b8393195b703c210021d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
17beb0b8aee78a39a2094a48ba7f55a602f701cb 20-Aug-2012 Paul Westbrook <pwestbro@google.com> Add suport for report problem

Bug: 6961632
Bug: 6946973
Change-Id: I88925b43008bff11f62f9c912422daf07ae884a9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5254486a8c37cdf2b579aa7a3b9c8eb7324062bc 20-Aug-2012 mindyp <mindyp@google.com> Dismiss leave behinds when scrolling.

Also, provide a way to get to the list, since its possible this item has no
parent (related to other issues discussing with adam, but its at the framework
level so we need a way to get around it)

Part of b/6864248 dismiss leave behind on next action taken

Change-Id: I2cf483f67ede6e80a935ddd3cf203b3a4b07517f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ca716f160fa033728fd4e60bcd13a4dc8693ee20 20-Aug-2012 Vikram Aggarwal <viki@google.com> Perform the correct actions when account is set.

Fix b/6877387 and b/6995218

The two methods switchAccount and setAccount need to be
resolved. Filed b/7019552 to track this issue.

Change-Id: I447de4775567c4245f709c5192199d24fed6fac9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
faa87d5b70b384f9bbdc896cbbe4863d507e26c7 20-Aug-2012 mindyp <mindyp@google.com> Clear cursor when switching between accounts

Fixes b/7012098 JOO47C: Switching between mailboxes janky, shows other Inbox contents before correct content appears

Change-Id: Ieda1af48e791278235e57b64c743baf79e2d7acd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
30745b6e9c4d280ac578d1186fbc0cec9bd2a838 19-Aug-2012 Paul Westbrook <pwestbro@google.com> Add context sensitive help

Add support for context sensitive help

Bug: 6383522
Change-Id: I409a819d3f3d5cc0b87f41f7a523dd1ad8abd980
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e1221d2807826e2ee272df81c271a0f444522890 19-Aug-2012 Paul Westbrook <pwestbro@google.com> Fix NPE

Prevent a crash if the conversation cursor is reset

Bug: 7015159
Change-Id: Iedb67d2dc019ea594083a66d06f278c8672c07e8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9a70e919125d63971604e6dd3de8bc998e9c86da 18-Aug-2012 Paul Westbrook <pwestbro@google.com> Fix resetting ConversationCursor

We need to reset the state of the Activity controller when the
ConversationCursor is reset.

It isn't necessary for ConversationCursorLoader to call the
callback's onReset, as this will happen from the loader manager
Also, the loader manager only calls onLoaderReset() if the caller has
valid data from a new instance of the loader, but onReset of the loader
is still called. We don't want to call onLoaderReset() for every call
to onReset()

Bug: 7009556
Change-Id: If943409028aa8f5e465a5dba4bac1307a4d4e0fe
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
937c94f025ed55c19bd46c7c077fa3575ab6be52 16-Aug-2012 Paul Westbrook <pwestbro@google.com> Prevent use of disabled ConversationCursors

1) Change ConversationPositionTracker to get the ref to the
ConversationCursor from the AbstractActivityController
2) Make sure to notify the position tracker about changes to the cursor
in onLoadFinished

Bug: 6994143
Change-Id: I1d1e38852bb6cec1bc254b099c52f04bbe3af99d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ca9b3f6c4a6611ccf89016f63ecf672f2f008820 16-Aug-2012 Vikram Aggarwal <viki@google.com> Correct the list visibility in Two-Pane mode.

Fixes the following problems:

1. R.bool.list_collapsed is only meaningful in conversation mode,
while previously it was used even in conversation list mode
(b/6980648)

2. Dispatching conversation list visibility should happen when
entering conversation mode.

3. Change the list visibility before changing the layout to ensure
correct measurements.

4. Dispatching conversation list visibility change can be safely done
on the UI thread.

5. Consistent variable naming, and removing dead code.

Change-Id: Ic910b7adc7bdb1b599a7e650239d580d36c3478b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0d03ef8793b9abd8b8617931ae163bd0f1ebf346 15-Aug-2012 Mindy Pereira <mindyp@google.com> When marking a conversation not important from conv view in priority inbox, it is destructive.

Move to the next/prev/conv list immediately

Fixes b/6990747 Marking an email as Not Important goes back to the Inbox

Change-Id: I9345c848adab752578cc8ff83da619dcdae01f07
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
445be2114aed6b28cab53b488735d4bb812353a5 15-Aug-2012 Mindy Pereira <mindyp@google.com> Mark not important from priority inbox is destructive;reflect immediately

Fixes b/6944223 Mark not important not destructive

roll back commit destructive actions on cab mode empty; this
is not the correct way to do it and we lost undo aniamtions
Change-Id: Ia30598c07bfdeb0c3eadb5d7276ac71bbf81a77f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fa4092ed0bbfe72f283437fafaaee5d8abc86dc5 15-Aug-2012 Mindy Pereira <mindyp@google.com> Dismiss leave behind changes

Dismiss the leavebehind when:
User taps on another message
- Swipes another message
- Taps on any icon in the action bar

Part of b/6864248 dismiss leave behind on next action taken

Change-Id: Id425ae508af7eaa2667a5b19b16668b8401d7618
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7c401b7896910c00e6234e8774aab0be45740d32 14-Aug-2012 Vikram Aggarwal <viki@google.com> Get the Account through a listener

Every object that needs an account gets it from the ActivityController
by registering for future updates. This should reduce some of the
headaches with account objects going out of sync.

Fix b/6969950

Change-Id: I0449b482ecd84bdb947304db5f0504c77dd1dc7a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
991f453c8905ec683458f8b4ea0e2737832425d9 14-Aug-2012 Andy Huang <ath@google.com> minor reformatting cleanup

Change-Id: Ifcf30fae6633f6b416035a3a15fb6687460883d9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
01f30509c4c8ad0d13b7635447b7f023c7a0cab7 14-Aug-2012 Mindy Pereira <mindyp@google.com> Show remove folder option in user created labels.

Fixes b/6977686 User created labels don't have Remove label (archive) icon

Change-Id: Icecada98ac11e66f622fbac80991a481873eed18
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cd5c5eeae167885ffa2959c200233fea2f39c5f7 13-Aug-2012 Andy Huang <ath@google.com> refine message cursor update accept/reject logic

Conversation view should ignore no-op or irrelevant
MessageCursor changes, but certain other changes should refresh
the view. Use hash codes for each message and for the entire
cursor to distinguish.

Updates from the server confirming a client-side read/star
change no longer cause the conversation view to reload.
Other cases that do cause a reload:
* edit draft locally or on the server
* read/star change on the server
* discard draft locally or on the server

Now that mCursor is changing all the time, and not always
reloading the view, we have to be extra careful to not keep
stale references to the old mCursor after a change (because
CursorLoader will close the old cursor after onLoadFinished).
This meant mPendingCursor wasn't needed.
This also meant ConversationMessage needed an intermediary to
get the current cursor.

Bug: 6951782
Bug: 6437156
Change-Id: Ibd94eb9dc0e72fae371e47db08dff0d7c09ee145
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
55124f6fbc230042714d6eec119f0573e2878246 13-Aug-2012 Mindy Pereira <mindyp@google.com> Don't disable compose/autosend until accounts are added.

We want these to go to the add account screen instead.

Change-Id: I4f006f4911ede82f6097b2458889d5cc387a77bf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8742a614a238c5ae55d767461000d0a10d1da4d4 13-Aug-2012 Vikram Aggarwal <viki@google.com> Miscelaneous cleanup

Change-Id: I960ecf14c72ed41b6f46dd1bf2c1868f367d2f31
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cff1aeaff92efb9f7a03203d9f757a2820b87686 10-Aug-2012 Paul Westbrook <pwestbro@google.com> Refresh cursor even when scrolling

This allows the "Loading..." item to appear before the
user stops scrolling the list. If the the live data is
populated before the user hits the end of the list the user will
not see the "Loading..." item

Bug: 6966755

Change-Id: I902eb442e47a6efb99b850a559106c81acac19c0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bcd784c09f649785a3dda1d6d9a6d5f58ba41770 10-Aug-2012 Mindy Pereira <mindyp@google.com> Explicitly call out the name of the folder/label being removed.

Fixes b/On swipe change copy for Remove from label to Remove from [labelname]

Also, that's not a not =P if it is animating, skip, otherwise, refresh
Change-Id: I450033cac8adf2b95e9ed101e1a4651f708e5ac0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
69e88dd6779a8f88212a049d49d69503cd746ef7 10-Aug-2012 Mindy Pereira <mindyp@google.com> Dont refresh while we are doing animations.

Change-Id: I8b470a4227b7e8d97bfcef84b32489308426be49
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
00179f19e413461498599ab7e6eb6914cc5c3671 10-Aug-2012 Andrew Sapperstein <asapperstein@google.com> Added the visuals for the new error styles.

The visuals are done (minus some string changes).
However, two of the buttons need to be implemented
(the sign in button and the report feedback button).

All of this work occurs in both the ActionableToastBar
and the ConversationListFooterView.

Change-Id: Ifa67a0f72d100191c2cdb47f601e6ff04a765e02
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3c0f419ee43909623a6ff72446894dbde91be45f 09-Aug-2012 Paul Westbrook <pwestbro@google.com> Prevent monkey crash

For some reason monkeys are hitting a situation where the current
folder has a conversationListUri of "null"

This CL will treat these folders as invalid, and will log information
about the folder

Bug: 6942503
Change-Id: I167550465207e480727c7dbeccbfd39a24815634
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4bfce9ada8b2a6d54ec21a11ba78aaaebe6cfc2f 08-Aug-2012 Paul Westbrook <pwestbro@google.com> Fix monkey crash with unitialized Folder

Bug: 6942503
Change-Id: I478b6c36233fa837d431f26b2d2489258acbcfab
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4e0158f03fd8f430e88394e8b99e1b65ed01838a 08-Aug-2012 Andy Huang <ath@google.com> speculative fix for destroyed activity case

It's possible for the two-pane conversation->list animation to
finish after the activity is already destroyed (apparently).
Choreographer is not aborting early, so we must check for a dead
Activity and avoid work (which may depend on Activity) in
response to onAnimationEnd.

Bug: 6931878
Change-Id: Ifeb4ac6664e0db18b263ae201a20d0811971f347
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f3341405c97ff6d27a0d5fa37f6031e1c395d161 07-Aug-2012 Vikram Aggarwal <viki@google.com> OnePane backs to previous list.

Fix b/6375222

Change-Id: I01c36d7ca39c98c61d9e7e0ec5ff727a1ac98679
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
53d46a3e3b3c3d97696ecfffc3a99ac9250063e8 07-Aug-2012 Vikram Aggarwal <viki@google.com> Remove superfluous parameters

Change-Id: I72528df171bea426da37e9c38ba4a68c22f20909
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1a249e094e961f463ff392390d591a1d37106e69 04-Aug-2012 Vikram Aggarwal <viki@google.com> Create folder list on Widget title tap

Fix b/6907748

Change-Id: I4207152b8ea85f0377aa1f295a829c9808b9d9c5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
641de6544634b55a5505cb2874059e02e13f70ae 03-Aug-2012 Mindy Pereira <mindyp@google.com> Cleanup extra calls to mailactionbar for refresh/stoprefresh/update.

Just use the folder observer.
ConversationListFragment already uses an observer, so we don't need
an extra onFolderUpdated call there either

Change-Id: Ibe003354a3d477e2fb924aa4d9700f5f26154b8e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
66bc2aaf76bb0dfa4fc38f8fcbaaf9e413e321dd 02-Aug-2012 Vikram Aggarwal <viki@google.com> Update when a conversation is viewed.

Change-Id: I1c424a89fef2dcbcb882e8741eda0d6470b68b87
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
04e0dc70c61c1d856877718922f8b1de2f25a2ff 02-Aug-2012 Paul Westbrook <pwestbro@google.com> Fix some problems with conversation cursor

1) If someone called setCursor, the internal state of the
ConversationCursor would prevent new cursors from being observed
2) If onRefreshReady happend while the list is scrolling, that wasn't
handled when the list scrolling stopped
3) If both onRefreshReady and onRefreshRequired happened while
the list is scrolling, when the list stopped scrolling, only
onRefreshRequired would be called, which ends up unregistering the
observer

Change-Id: I1b07b8b41b1025b981f5fdae7d6e2e18568029de
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0972e0793cc321670391d063348aecb5031b2677 02-Aug-2012 Mindy Pereira <mindyp@google.com> Don't bother with nummessages/numdrafts if we have conversation info.

Cutting out more work we don't have to do.
it is essential to get making a Conversation as fast as possible

Change-Id: Icb80cd8c68de3685f5dbdaafce8f6d44a24105cd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
741846b4b3a33011cf1913a36114b36717b7f848 02-Aug-2012 Marc Blank <mblank@google.com> Make sure reset ConversationCursorLoader gets cleaned up

Bug: 6381692
Change-Id: I4a427d0076f790091d4d166b10c322e1844f5003
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8f6b006357bf6c76e62fca899f594b2c674e8152 01-Aug-2012 Andy Huang <ath@google.com> auto-advance on batch mark unread

If the currently visible conversation is being marked unread,
need to auto-advance. (But only when marked unread from CAB.)

Change-Id: I21c534ea077ff20ab7a566bbb875aa6eb9d72ffc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4a878b606961825fb4fd412b460df75779f09ad2 01-Aug-2012 Vikram Aggarwal <viki@google.com> Simpler version of unread in conv view.

Change-Id: Id9ae26c9698797ed3fb7ab9a98e6305677648ca6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3b6abe57473e9565e502c6a2013fdbaad803bad0 31-Jul-2012 Vikram Aggarwal <viki@google.com> AutoAdvance.LIST when mark unread in Conv view

Change-Id: I964754c29cd2a2d20449d02a1088e18228182bfe
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ca08fc170ca3f04572af8999645d5fd9e0bdb725 31-Jul-2012 Paul Westbrook <pwestbro@google.com> Only notify about settings changes if they are different

Change-Id: Ic1dd47182de42b38abaf9fd9e4e6bb46a866efd2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
66bc6ed16956963cb18660d15ea7e6adc6c62411 31-Jul-2012 Vikram Aggarwal <viki@google.com> Do not reload the inbox on settings changes.

Fix b/6894802

Change-Id: Ieaf5af8573c13e96598ba6516fe32c212c932417
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8f23bba2805f50315181abee153116ad4f78a01b 31-Jul-2012 Vikram Aggarwal <viki@google.com> Pass fewer variables. Reduce visibility.

Change-Id: Ic56f523794ffcd9d8f95ac07c08eee0d63d6afed
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0b665e74663c5c721bc7baae2ed0cc7a5922806c 31-Jul-2012 Mindy Pereira <mindyp@google.com> fix mark-unread in 1-pane and apply auto-advance

A view mode change is enough in 2-pane, but not in 1-pane.
showConversation() handles all of that logic nicely.
Also ensure auto-advance policy applies to mark-unread, even
though it's not a delete/destructive action.

Bug: 6904409
Change-Id: Ic89a1411841fa0132e2e92b6281d982644289713
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7b6d03db55338cbf9717896f99eb20d02bf371e4 30-Jul-2012 Mindy Pereira <mindyp@google.com> Serialized strings are faster than json

Also, cleaned up/ reduced the number of Folder methods
that do the same exact thing.
From ~24ms to ~12ms/conversation now
AKA in half AGAIN
Change-Id: Ibdc67fe94d66ce32d933b4e18e9581d8c71d9974
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7a5d95a08464fb82b0310c82f3c39bfb8b63539f 28-Jul-2012 Vikram Aggarwal <viki@google.com> Unread counts in ActionBar accounts.

Fix b/6392082

Change-Id: I25b0c1ea0faf27519fca96fafc66644a2bb36be0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5f424372f9a801120b5dc8d3f56e907baaa04e25 30-Jul-2012 Mindy Pereira <mindyp@google.com> Splitting strings == faster than json

Cut the time to create Conversation() nearly in half
Went from 43ms/per to 26ms/per
Change-Id: I3353c5406ba40116ce2906376369acde8d30cb7d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
85c4a77abd849f5f3f0236d51554bb1bb99fe8f6 30-Jul-2012 Mindy Pereira <mindyp@google.com> Cache displayable folders.

Change-Id: Ibb2766e5a197a86adb0a456dc1fb58cdd98fd610
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6006991395131d7d1db4f883ff8c7a87498b6eec 24-Jul-2012 Vikram Aggarwal <viki@google.com> Allow settings to update

Change-Id: Ief66ab0df6bb26d1d145dcf8f343640cca2d0a55
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a832d3d68a44579e379d1740913975995d137cba 27-Jul-2012 Mindy Pereira <mindyp@google.com> If there are no foldres on a conversation, it must be a 1 to 1 mapping.

In which case, the selected folder is the folder we are currently viewing.

Change-Id: I89b905d9a17d5eeef9e15502aa0ce5b26caf88df
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
68f83843e821d9627a53f68244dbc4cb26662edc 27-Jul-2012 Mindy Pereira <mindyp@google.com> Remove more unnecessary code.

MUCH CLEANER.

Change-Id: Ib1330696701792c2537a1b72c5b9815269c180ec
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
00ffece08e94ff5774b2a53c0adeb2f3d0815d66 27-Jul-2012 Mindy Pereira <mindyp@google.com> Remove folderlist

Theres is probably some more caching I can do with the getRawFolders() call
on conversation.
Next CL.
Change-Id: I171ba2ec08c2dd557efafe01d1e59b6c7f563971
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1fbb0d73759c652482c11bfdc7246b64b57dda94 27-Jul-2012 Mindy Pereira <mindyp@google.com> Make sure we include the current folder, since raw folders intentionally excludes it.

Fixes b/6882709 Adding and then removing a label on a conversation in the inbox causes the conversation to be archived

Change-Id: Ia5f19653e1e8f9b479c0e1251ef82a80d0c980f9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
980aaeab56022ec0e20110e942fe3ae22adb7eb8 27-Jul-2012 Andy Huang <ath@google.com> fix launch to conversation via widget/notification

Change-Id: I8f7ee760721e0875860f93e4efb2ffe4fea61ca6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ed4fdf001005b0d17a1f3150366e8ba2dc0204a4 27-Jul-2012 Andy Huang <ath@google.com> fix restore state in conversation mode

Change-Id: Ia9d660b2dfc7c232a0f93e1b428ce0728e9edf97
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
28e31e2417d775b343919cf6018f85871e40a294 27-Jul-2012 Andy Huang <ath@google.com> fix mark unread in Email

only perform granular mark unread for partially unread
multi-message conversations

Change-Id: I84a5b8ed1ac0b65eeb7abadbb6280843a5cbe67c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
192fac189e6aed434556a4e37bd3c5c29ef02f29 26-Jul-2012 Vikram Aggarwal <viki@google.com> Eliminate some poor pager/list/destructive action interplay.

Change-Id: Ib7f3a7dfd194fe7f5df0f59b5b2989d31b55a631
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
090db1ec6fef366ab9e319040a00eca078ed41c3 25-Jul-2012 Andy Huang <ath@google.com> fix total count in pager title strip

Add an interface for AAC to allow other components (like the
pager adapter) to keep track of the current Folder as it
changes.

Bug: 6877338
Change-Id: I8c0bae0f6ef3bc6fc7b115b013816a458bc95226
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fa995b4bbccd0e650ef48878107ede5e53dd8309 25-Jul-2012 Mindy Pereira <mindyp@google.com> Throw nfc stuff on a handler.

Fixes b/6878892 ISE in Gmail2: java.lang.IllegalStateException: Can not perform this action inside of onLoadFinished

Change-Id: Id185b28ecc38ec854b9c11797c35cc938d745dde
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
daa06aba887e8e3748453f45ae52c1e571fe9f2e 24-Jul-2012 Andy Huang <ath@google.com> fix restore of conversationInfo upon mark unread

When marking partially (or fully) unread threads unread from
conversation view, the change didn't appear to take effect until
the next refresh because I was using the caching URIs instead of
the underlying ones.

Change-Id: I92cfcba1537c08f0609866619e52da4b7b13d53d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
de3e74a82043733243c7391d7f983a5af8842891 24-Jul-2012 Mindy Pereira <mindyp@google.com> Show animation when destroying items via the swipe action.

When the user checks a bunch of items then presses (archive for gmail)
the button corresponding to the swipe action, animate them out to
the right.

Fixes a few issues introduced since I last touched this code
Starts the animation duration at 500ms for swiping out to the right
Makes sure positions are properly set
Makes sure the destructiveaction doesn't get called until the animations
are complete.
Change-Id: Ia024cceb703fc881d40ddbe393278aa2aec67311
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
839ada22ea84251dde3305003d2f8fc5bf14914e 21-Jul-2012 Andy Huang <ath@google.com> save/load conversation state, add granular mark unread

Centralize mark read/unread logic in AAC.
Restore some conversation view state upon rotation.
Clean up code for star/unstar from conversation view. Move most
of that logic to AAC.
Move transient conversation state from Message into
ConversationMessage subclass.
Add new AsyncTask for content provider single or batch requests.
We should move to using this instead of AsyncQueryHandler or a
raw thread.

Bug: 6293711
Change-Id: I907a687ef7ff287fece8c90725dbd204a02485e9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8937bf1552a86853efc798a4d8df34c01115cdfd 23-Jul-2012 Mindy Pereira <mindyp@google.com> Commit leave behind items on view mode change, conv selected, cab mode exited, any new action.

Future CL's will handle animating these out nicely, once
the animations are decided upon. Currently, they just
disappear.

Change-Id: I1a1ee0ed3be0a684c2838f25d804e8fb2b1fbfc7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fa20c1a4e36e0da2577baddbbb38a988b2017339 23-Jul-2012 Mindy Pereira <mindyp@google.com> Move nfc sharing logic into unified.

Change-Id: I9e735480eef24dd30a12eac9a36abdcbcc7b14e0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6c2663dc9cade8aff34c462d244e3d72c475c664 21-Jul-2012 Mindy Pereira <mindyp@google.com> Update conversation read state on the ui side.

Change-Id: I372464e23c39131b45c20ad8bd72ddd6207a1bb5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f2e212edfd7fee9f43d5ce162f81512c353ed8f2 21-Jul-2012 Andy Huang <ath@google.com> fix 2-pane conversation view rotate

1-pane and 2-pane each already have hierarchical folder
save/restore, so remove it from the parent class.

Change-Id: I21db65df4ee8cdd2a3b06421b7338cbeda0acc0e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
148b191681abebc56973f7a42d9adfbdf30c8a2c 17-Jul-2012 Mindy Pereira <mindyp@google.com> Restore hierarchical folder on orientation change.

Make sure to enter folder list mode if the hierarchical folder flag is set
as well.

Update TwoPaneController to use the hierarchyFolder to determine
what to save/restore/how to go up the chain

Change-Id: If8879a952f9dd63b0b29f4402f060906d83bf543
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0f7ae7a2d244463f75b3d4e1f79e27305a4dcb38 17-Jul-2012 Mindy Pereira <mindyp@google.com> Restore hierarchical folder on orientation change.

Make sure to enter folder list mode if the hierarchical folder flag is set
as well.

Change-Id: Id31bb2872c48f8026df0d57f8c62b0ed224709fa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a1f99981919755e50f31fe300517d2fed752997e 17-Jul-2012 Mindy Pereira <mindyp@google.com> Click a parent folder should open that folder.

Change-Id: I28b40d16fa0e639a124b7372bdc9a35dc8a754a4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9d7519d18e8ddbcdd59b37eec7c85210fca0e8c2 16-Jul-2012 Andrew Sapperstein <asapperstein@google.com> Error notifications show after orientation change.

Change-Id: Id038a4ee7a7f28fe7119d71e070464d9663f8516
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d3367499e56116854ed637b1036fd71057ac0f49 26-Jun-2012 Mindy Pereira <mindyp@google.com> Make it possible to restore undo operations.

Conflicts:

src/com/android/mail/ui/AbstractActivityController.java
src/com/android/mail/ui/SwipeableListView.java
src/com/android/mail/ui/UndoBarView.java

Change-Id: I42441c60e9ab7aff8f4c07dd21d03d2e419b2d0b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c975e8416b64a1ebdec6adee7e65dd1d0928e8d4 16-Jul-2012 Mindy Pereira <mindyp@google.com> Re-connect to an existing loader on orientation changed.

That way, we can keep the existing conversationcursor over orienation changes
and retain the undo state.
Find another way to make sure there is no selected item when we open the
folder list. Setting the folder to null means we don't know that
we are switching folders later.
Change-Id: I720f2a1fc1dba6e9e25ac0512894273f758499d5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8db7e407109532557718c6b8064792f2df7a073d 13-Jul-2012 Mindy Pereira <mindyp@google.com> Update logic for adding/removing folders.

The logic is:
we only want to add/ remove if the folder was changed
So, track only the operations a user makes (aka checks a box/ unchecks a box)
And use this to determine what to add/ remove from a conversation.

Change-Id: I37d9c042e2db5f1a48c5c8a79c52039989f236d1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5d420968c576034215a4a989aeb84dc867ae5d96 13-Jul-2012 Andrew Sapperstein <asapperstein@google.com> Asset updates for attachments and spam warnings.

Change-Id: I71a63532aa86c53d33f674c6f39b110c4e0300e6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ebdfd98264104cb5a6888acd663970b7c0b31382 13-Jul-2012 Mindy Pereira <mindyp@google.com> Add ability to change multiple values at once for a conversation.

Change-Id: I597bd33c5f647170f8cc06aba79091ac2090f696
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
06642fab1bf4ab95b5dd97a65b262845cf60c865 13-Jul-2012 Mindy Pereira <mindyp@google.com> Make swipe remove label when not in inbox.

Change-Id: I80b22ccd04d3c1b27ebd8af7b84dadea127ed4c4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
76b2062b8c6d18a7b3a05292c385b47b0fcbd09f 12-Jul-2012 Paul Westbrook <pwestbro@google.com> Support for report phishing

Bug: 4161858
Change-Id: I8b12cfde7e19e388ece83c4df3069f1f65445945
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a8ead90ce1e6c66e4ecacdf7cfa25c2cafc9bb3b 12-Jul-2012 Mindy Pereira <mindyp@google.com> Update interaction of selected conversations with swipe

According to new specs:
1) only the item swiped on is archived, not any other selected conversations
2) even where there is a selection set, any swipe on any item will dismiss that item

Change-Id: Id94c69a0e5b0ca03b541458b1200a56d6d16c703
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
49e5dbe09aee3ae693ae6d034cce95c477fdfc78 12-Jul-2012 Mindy Pereira <mindyp@google.com> Put enable share intent settings on an async task

Fixes strict mode warning
Apparently, this does a synchronous blocking disk write =P

Change-Id: Ia9ab927e0d5a3ab211bfbfce3297ca7b7dc79df4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
77eee625cd8c317c605acfd06cd3a7e22120a0fd 10-Jul-2012 Paul Westbrook <pwestbro@google.com> Support for "unspam"

Also added start of phishing support
Change-Id: If8eb389c2dcc8c285a582504b8213ef676848a30
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
830bdaf78180d4566a519954cdfd320e20dd529d 11-Jul-2012 Mindy Pereira <mindyp@google.com> Enable compose service when an account is synced.

Change-Id: I6749a2db2fc96c0028e288ee692291d37a4c8feb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5ad02918f663bc52522a2505de985df9ef5ea347 09-Jul-2012 Mindy Pereira <mindyp@google.com> Handle json in widget launches.

We don't need a separate string and parcelable, since we just
send the folder as json always now.
Change-Id: I77456116ad0f9bfae4652d043c52ed9828ea86af
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ef0bef60be599c8148f4ea852faf40d800494b46 04-Jul-2012 Mindy Pereira <mindyp@google.com> Use json to store folders info instead of serialzied strings

cleaner

Change-Id: I125baef04f7839ad7b2e5d5d6dfba2b5ccc9e59f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c2c9dc14aa184db1f05b8c060b27d97dda5a3ca4 03-Jul-2012 Andrew Sapperstein <asapperstein@google.com> Refactored UndoBarView into ActionableToastBar.

This step was mostly renaming. Deleted some unused
stuff. Made the show() method far more
general. Now showing sync errors as a toast.

Still requires some tweaking for the different error
types.

Change-Id: I476e107ed89ed492b44b081d32e4216504626c13
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7e2a2a1ac78be42e01f780efbba345727668b5db 27-Jun-2012 Paul Westbrook <pwestbro@google.com> Consolidated similar async tasks

Change-Id: I0e6e3682ac4dfd69fb780d6e2c8c877d50239a7e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b334c9035e9b7a38766bb66c29da2208525d1e11 25-Jun-2012 Paul Westbrook <pwestbro@google.com> Changes to support different Log tags

Change-Id: I7121fbf7132444fc0f5c0c130373e3f2d1a3cf7a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
12a4d8040d64501aa5a24c25865c806331560b74 22-Jun-2012 Mindy Pereira <mindyp@google.com> eow that two pane hierarchies are fixed, fix 1 pane hierarchy navigation

Fixes b/6406686 Navigation issue when pressing back when in nested folders

Change-Id: Iae5e472508b0f5c886e41b607b79963199a72f40
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4eb5271e0f0a48ea624e048eb69fbe86d6c62dc3 20-Jun-2012 Vikram Aggarwal <viki@google.com> Exit CAB mode on folder change in tablet.

Fix b/6696861

Change-Id: I679c4a635992f7f7db850785610c353ac70ea85a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
505df5f59c92adbe8eaa734321c1d3f91be84a4a 20-Jun-2012 Mindy Pereira <mindyp@google.com> Fixup multi level hierarchies

Fixes several issues:
1) now properly shows parent icon at all levels
2) now properly hides parent icon at all levels (recycling views
means we have to show/hide each time!)
3) moving up/ down the hierarchy works properly

open issue:
going back from a folder with children to its parent
does not select the child folder in its parent view

Change-Id: I46995ee636ac199a3d600eea0b5f37bd3bf624ff
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
67f36fc85e569cef96f2932718d14f0489b06339 18-Jun-2012 Vikram Aggarwal <viki@google.com> Recent folders on tablet in conversation view only.

Fix b/5892452

There are two changes in this:

1. Allow suppression of recent folders, the header and the "Show all
labels" footer. 2. Introduce a dead header to satisfy
actionBar.setSelectedNavigationItem, so that we can receive taps on
every visible account and folder. It is an empty, invisible view
that is shown above all the accounts. The user cannot tap on it,
and the user cannot see it. I'm not proud of this hack. We should
request the framework team to add a setNavigationNone for such
use-cases.

Change-Id: I83ec4bbb9bbac02941bb5d43a123a65e0afcb7f9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
84db8684bd81d4860cc89a7e1c39daf651204989 18-Jun-2012 Vikram Aggarwal <viki@google.com> Destructive only if the current folder can accept moved messages.

Fix b/6408136

Change-Id: If802bf0ca3aab6b462f734f8cf4465280d449c3a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
695d69602d1c5137da6c01618a0922d920b81d70 18-Jun-2012 Mindy Pereira <mindyp@google.com> If the folder supports DELETE_ACTION_FINAL, then disable undo.

not the opposite
fixes b/6674491 No Undo option for delete message

Change-Id: Ia7cd60d4627bfba9f414bb607a760514f07f81aa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ac2548293e93c14b1d14e6de53328c561ba1cca6 18-Jun-2012 Mindy Pereira <mindyp@google.com> Small tweaks to make search on tablet work better.

This makes sure we clear the focus from the search entry field
when in search results mode.
Also, when in two pane display for search results, we want
to show search_results_conversation mode and not search_results_mode
Now, when the user rotates to or first enters search in landscape,
we don't get the annoying transition from FolderList|Result List
to Result List | Conversation; it goes directly to Result List|Conv
Change-Id: I980990aa34d6712b7ebe5212a515a3931473cba8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
112cd16335e1ca56c96d005aa3b5bb11508396dc 18-Jun-2012 Vikram Aggarwal <viki@google.com> Prevent NPE

Fix b/6676168

Change-Id: I89f059031bf5cd7f3e41edc9894df3b205fc1d61
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
82faec7ee6cfc4e68fdfe7658d38dfeb5c9c1843 15-Jun-2012 Mindy Pereira <mindyp@google.com> Extend MailActionBarView with the more debug friendly SearchActionBarView.

Change-Id: Ib8046a8a9d441be6ce8afa567b7d5d3203c8566b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6681e54368343cd4d15a561e3edb206ec9e8059e 14-Jun-2012 Andy Huang <ath@google.com> small refactor

framework already has an ActionBarView class

Change-Id: I7845dd3ca9f5fda2099a19f157f5d10fb1bdeff3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5895f7b0e5fa921f6d46bbaf6d8c7b1a8ebc7804 02-Jun-2012 Andy Huang <ath@google.com> subject in actionbar

Mostly a port of Gmail1 code. New and noteworthy:
* when switching between ActionBar list nav vs. custom display,
toggle ActionBar.DISPLAY_SHOW_CUSTOM rather than messing with
custom view visibility
* This exposes something of a framework bug where collapsing
an action view will leave views for all inactive navigation
modes GONE, which I work around for now (b/6664203).
* ActionBar views were being inflated with system default Holo
theme due to application vs. ActionBar context (wrong theme on
the application context). Fixed that and un-inverted some
existing styles.
* SnippetTextView: save off the last measurespec rather than
inventing one as before.
* bring back an existing excellent behavior: since
PagerAdapter.setPrimaryItem reacts too slowly to nicely
change the action bar subject when paging, listen for
OnPageChangeListener.onPageSelected in addition.

Bug: 6384157
Change-Id: I45d995a472d4b3c71f1371dc7b993923423b7cf7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
27d89ada3e8d1b17357a7064e1f47f3c15686412 12-Jun-2012 Vikram Aggarwal <viki@google.com> Request default recent folders.

Change-Id: I2aa6b695958fc20864d07c02be4251ef203c3fa6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
11e3596e8c5978d07195ae2d7c8a96bb51aa75b3 01-Jun-2012 Mindy Pereira <mindyp@google.com> Handle up and back behavior for the one pane/ two pane folder lists.

Adding hierarchies makes this more complex.

Change-Id: I6f4946c351c53dbfda880780fe804d8e57c4a494
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
13c12a628bd4f1e52b9a4fc44a18b85bfdaeb88b 01-Jun-2012 Mindy Pereira <mindyp@google.com> Update hierarchical folders; implement this "the right way"

Have 2 list adapters that understand when to setup a hierarchy
and when to not

Change-Id: I98b349ac373689c091bd8227a975bc47ae3f5092
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4f4782bcc53e13b30f1fd417beb1a6c04a54faed 30-May-2012 Vikram Aggarwal <viki@google.com> Rely on ConversationUpdater to perform deletes

Change-Id: Id0db0d9c479ccab477091629464bbb5d302f52fb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
531488ed848766708252a5fdc01c4ecf0fd167d1 30-May-2012 Vikram Aggarwal <viki@google.com> Remove all bad ideas from SelectedConversations

1. Remove references to AbstractActivityController and
ConversationCursor (yikes!) from the selected conversation set.
2. Create a new interface for delegating all changes to conversation
state.
3. Consolidate FolderChangesCommitListener with interface created above.

Change-Id: Id1d982a19eb2d26c51aec661cee5dc23ef98c110
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
48b2a6c5fe209f0603fdf85d35cf399f7f7d462e 29-May-2012 Vikram Aggarwal <viki@google.com> Minor cleanup

1. Remove uncalled empty methods.
2. Remove methods from interface if nobody else is calling them.
3. Remove unused DragListener interface and all references.

Change-Id: Iac498336209b8e73f9a0e13dd8954652e83fd1fc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
599bc6b8aad47400da844add5a6fb08965398fd1 29-May-2012 Vikram Aggarwal <viki@google.com> Prune dependencies

Change-Id: Iee766de86dea0d034fc6135527fc2c5b860051df
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
23aadfd1c83e08b6723d4cb9357b2908cc464a86 25-May-2012 Mindy Pereira <mindyp@google.com> set folder selection on activity attached

since attaching a fragment to the activity is async, we may not
have the fragment by the time the folder is selected
let the folderlistfragment set the selection once the activity is attached

Change-Id: I10aad32af1982a4b349492fd449c42a58c37bc4f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
386243fd5fd2974133ba661ba43e47eb3d2bfcdf 25-May-2012 Marc Blank <mblank@google.com> Add folder capability for non-undoable deletes

* For trash folders in Email app (and elsewhere, if needed)

Bug: 6282899

Change-Id: I50ff4c4cf1e2d0ef56cffd22e43736e992b1e01e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f3a455644f0899a01fff4782811fcff473f9aff0 25-May-2012 Mindy Pereira <mindyp@google.com> Make sure we clear the selection set when destructive batch folder ops are complete.

Change-Id: Ic9a69a1cbcc00f72dbf8b0dee44f0da6f0be6afb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ba68fdaf4f251eccba0832878a74bdaf6aa7469e 25-May-2012 Mindy Pereira <mindyp@google.com> Make inside conversation unread work; merge twopane/onepane controller logic.

These were the same!
Also inside conversation unread was not going back to the conv list.

Change-Id: Ia06bc9f33e424bb8677a9bb360e05dc7de91e811
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a0c244460588fbc3ff687f4ad00e73145bb1dc85 25-May-2012 Mindy Pereira <mindyp@google.com> Marking a conversation unread forces a return to the list.

If the user taps mark unread inside a conversation, take them back
to the conversation list.

Change-Id: Iaa19227b6e01169ae84d65cbbda4582340aaff38
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3cb28b5e1598f74dedbdb87b187d9bd7e132ff0f 25-May-2012 Mindy Pereira <mindyp@google.com> Enable undo for accounts that support it.

Its not just for batch operations; we should get it whenever the user
does an operation that can be undone, like deleting from inside a conversation.

Change-Id: Id62e2bcebdd0e669ad308d056deee1460e647ca2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7dd054e39986de84a213c56a3c11ac94731402e6 21-May-2012 Vikram Aggarwal <viki@google.com> Fix auto-advance on tablet.

Two issues have been fixed:
1. We get the next conversation *before* deleting the existing conversation.
2. Conversation View Fragments are not available in the same manner as
ConversationListFragment's are. Instead on relying on the existence of a view
fragment, rely on the conversation view visibility.
3. Next conversation with batch-selected conversations is now correct.

Fix b/6516141

Change-Id: I7a023ff50415347a9cdaf4bd5a9f24fe89f7530e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b114841b6f2a91d92b8d0af4ec05ce81a5ba5599 19-May-2012 Andy Huang <ath@google.com> fix NPE on state restore

Change-Id: I87c0f80930f508af2992d08aa5e2e122c1100edf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
91e8737780f631a65633434447b0da864beb5bae 19-May-2012 Vikram Aggarwal <viki@google.com> Write color in JSON account, and ignore null account.settings

Change-Id: Ic78ef739b5965204595eeae7a46319eaee3e5f44
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b9ca979fb93cc14246b449a2c02dc615c9e0cdd9 19-May-2012 Andy Huang <ath@google.com> fix launching with account intent every which way

Don't require the 'color' attribute (missing => default/0).
Don't NPE on restoring invalid account (and log this).
Don't continue intent processing if account is invalid.

also remove some unnecessary boxing/unboxing.

Bug: 6521470
Change-Id: Ia662b3462cce364921a4db0158babfe17bfda553
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c30fe4172676a5ea3fdc0da8a0fbb917d9cf878e 18-May-2012 Vikram Aggarwal <viki@google.com> Call it archive rather than y_button.

Fix b/6482584

Change-Id: I7cfc511eb582a0379e92a15d4e2740777b932d4f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3d7ca9d2aefd20dc115f20532c1e19fdb60f7d68 11-May-2012 Vikram Aggarwal <viki@google.com> Consolidate OnePane, TwoPane, and Conversation Destructive actions.

Change-Id: Ieccc3fc1962572fec78dfb1ea91557e56f931a48
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9fa43cab6a83c70a7739c3d5300fc354856f22ff 17-May-2012 Mindy Pereira <mindyp@google.com> Fix a whole bunch of bugs related to orientation changes when searching.

Change-Id: Ie64a33eb0ac716d4963fb18520032f7d27d153c2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b9fb2c1303d7d0d111cee4c5dd6b8c7fb3f71dae 11-May-2012 Vikram Aggarwal <viki@google.com> Minor cleanup in the controller.

Change-Id: I669fadbab2d1b7d7c5c45b7b4d2abda8384ee704
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d503df4f0c31bbf842c6a1d3cba18df8c074bf67 11-May-2012 Vikram Aggarwal <viki@google.com> ActivityController commits folders, nobody else

Change-Id: I3ff870f275821ebc3cd08cfad0875eb229094f2e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c41139509b1eb6dfc9bdae88ccc7d16eac85e2cf 11-May-2012 Vikram Aggarwal <viki@google.com> Consolidate BatchDestruction and ConversationDestruction

CAB mode. It's destruction, essentially.

Change-Id: Id53984834be6b95db9e0970f951b9aeadbfad28e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
440fe79194314b25ef5829702494735ce2f1e2e8 11-May-2012 Vikram Aggarwal <viki@google.com> Safely create Collections.

Change-Id: I5fb740195b7aa9cd683485609ad50312b6840555
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
025eba8bfd4d0b5e248b6de0bda6f1129170fb41 08-May-2012 Vikram Aggarwal <viki@google.com> Always read settings from the account

Since settings are a member of the account, read them from the account
directly rather than keeping a copy. Also, stop passing Settings if we
can pass specific values within them to limit the visibility of the
class.

(Nobody likes settings...)

Change-Id: I0b4ee83f7396c9205169e89838e0121ee17232f5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1e57e67c1a59b6d3b00d935fab91805689cb6f74 07-May-2012 Vikram Aggarwal <viki@google.com> Read defaultInbox through a safe accessor

Precusor to cleaning up the Settings and propagating Settings through the entire app.

On the road to fixing: b/6303321

Change-Id: Ibe3aaf7eb0c0a4a02af741589c32b5c1e8261890
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7f602f7a64f176894ccb7942a6642f22584c3894 01-May-2012 Vikram Aggarwal <viki@google.com> Synchronize destruction and remove dead/deprecated code

Change-Id: Ia86449494cca7d4ed5e2d9d515d8afa3dd94b68d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bc67bb1211654e69b1233e0f8759771873ca773e 30-Apr-2012 Vikram Aggarwal <viki@google.com> More Destructive Action consolidation.

Change-Id: Ib4ac078d30b6c6d721aef398ada42030f1604678
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
75daee52f08c9bf66652b9bddf42cfbd1ca71987 30-Apr-2012 Vikram Aggarwal <viki@google.com> Consolidate list refresh and deletion

Change-Id: I024dbc3f9d18ae0c762c5fd1c54855afe6d54050
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ee8dbb8ee39ee6bee82a467b9cb06bef58b1b205 30-Apr-2012 Vikram Aggarwal <viki@google.com> Merge folder change from jb-dev

Was: Idfbb22d1206d325006d8fbd0d8ec1fd7e28e7908
At https://android-git.corp.google.com/g/#/c/184250

Change-Id: Ifefaded897271f964129bea26767c047b1a7bc15
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ada517849ada8a3c3a62d81c5163f392bc674eb7 26-Apr-2012 Vikram Aggarwal <viki@google.com> Attach the action bar earlier so it gets ViewMode changes

Bring it back to where it was before https://android-git.corp.google.com/g/#/c/184744/

Change-Id: I0c4f3136bb17cf9f903e6a698d073e5543427fdf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
abd24d82e41fd4747945d3f124b4e3a57e5dc6e6 26-Apr-2012 Vikram Aggarwal <viki@google.com> Ignore first time non-user navigation event.

Going from widget to conversation view doesn't give the list
navigation spinner a chance to come up. We have a current account
(mAccount != null), since we are viewing a conversation. When we
transition back to list mode, the spinner is brought up for the first
time. Since the spinner doesn't take a starting offset, it chooses an
offset of 0. This fires an onNavigationItemSelected(position = 0),
which resets mAccount and the account is changed everywhere.

When the list navigation spinner is brought up for the first time and
we have a valid account, it isn't a user event. Ignore it.

Fix b/6379319

Change-Id: I60ac51b096f1924018f21be81d9a26f7b6861dfd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0227ac2475b531204fbdd9311786b23b4fafc2dd 25-Apr-2012 Paul Westbrook <pwestbro@google.com> Make sure that non-destructive folder changes are not

Bug: 6393390
Change-Id: I3a7e95cee45e8186f91c0b10ad906e3f10814325
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
534e4a2175233b78a47bf0cd31ab8e4fc005ca71 25-Apr-2012 Paul Westbrook <pwestbro@google.com> DO NOT MERGE Fix wtf error, on restore

We should look if the conversation position tracker should better handle conversations
that don't have the position set.

Bug: 6393973
Cherry-pick of https://android-git.corp.google.com/g/183991
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9f119c72042e4d0382017d5ddcee9aa2113b6425 25-Apr-2012 Paul Westbrook <pwestbro@google.com> Fix problems clearing notifications

Bug: 6348210
Change-Id: Icfa2084935b79afc6d747a73c017ca40c2842c8d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e3df1ad8e630d7d61b4d68f8328f97dd11448b5d 25-Apr-2012 Andy Huang <ath@google.com> Make pager adapter cursor access safer

Monkeys seem to occasionally trigger pager layouts when the
cursor is transitioning. Fix this by patching up one case
where notifications didn't happen (onLoadFinished), and by
removing pager adapter's stored cursor reference in favor of
getting it each time from the controller. Now that different
folders have different cursor instances, the stored reference
is no longer a good idea to keep.

Also remove a redundant refreshAdapter() call in AAC. sync()
always triggers dataChanged, so a manual refresh is unnecessary.

Bug: 6384749
Change-Id: I3d7b0f41e9397c62fd544f5e903bd37cf319ccaf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
acaa3c0aa2335e0a635601e09c955388d698dfda 24-Apr-2012 Vikram Aggarwal <viki@google.com> Register the controller's DestructiveAction objects

The final destructive action objects are now created by the
controller, and so we will be able to commit all destruction before
changing the conversation cursor.

This CL is the last in the series. This fixes b/6381692

Change-Id: I4d2ef0f2aa9f3289e710152a2c96b71a6efb31ef
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
edc137c086d22ce5058b782a9efc2e81562fa60c 24-Apr-2012 Vikram Aggarwal <viki@google.com> Yap when mAccount is set

Change-Id: I5880a5d467fd53fd4f8a69734afc4b4da2a999e3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
35f19d7c052ca8074b48b2ab9d8689a72dc369c5 24-Apr-2012 Vikram Aggarwal <viki@google.com> Stop NPE in startSearch.

Fixes b/6388622

Change-Id: I25684eb74f875d07921b1efa26cbfaf9e03fd970
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
41e6e71568a0e7a32ebeaf909a4f6cb3ba4f47cf 24-Apr-2012 Vikram Aggarwal <viki@google.com> Controller owns the FolderSelection Destructive Action

This removes all Destructive Actions from the
SelectedConversationsActionMenu. Now, the controller is the only
object that creates Destructive Actions, and hands them out to others.

Change-Id: Ibb16cd09dda3d5382acfece5e63f341fba26bf85
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e8a85328eadff76fcd78141f1343bde0a1cd27e7 24-Apr-2012 Vikram Aggarwal <viki@google.com> Register SelectedConversationActions with Controller

The selected conversations action menu gets a destructive action from
the controller. The controller takes care to perform the destructive
action before swapping a conversation cursor.

Change-Id: Ibc98ef92b60d5782103b8a18aa39fe2b82a5814b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a916191f6b6920e3c442ecb4bc61c9bf27b40f00 24-Apr-2012 Paul Westbrook <pwestbro@google.com> Initialize position on conversation from intent

Also, add throwable to LogUtils.wtf calls that don't specify
one. This will make it easier to track these down:

Bug: 6384948
Bug: 6385639
Change-Id: I37bdca13e95452af15edee747a561e4b77bcd83b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7496e82e050dc2548727b1f8237bf0e60225fe47 24-Apr-2012 Paul Westbrook <pwestbro@google.com> Fix NPE

Bug: 6387459
Change-Id: I2b5c963f0470638ba39f94132a49f6931b28df82
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ef7c992d8cb462be6da34d42965cf185f3bb1b22 23-Apr-2012 Vikram Aggarwal <viki@google.com> Use ConversationCursor directly in the Controller, and check for null

Fixes b/6357409

Change-Id: I24b6bbbc4d5d5144c13c7568f2c5f0f7999f9808
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c7694221dfa5cec3f4ae290f2266b081b2639d80 23-Apr-2012 Vikram Aggarwal <viki@google.com> Destructive Actions. Part 2: More logic consolidated.

Get next and previous conversations through mTracker in preparation
for relying entirely on the AbstractActivityController's logic.

Change-Id: I0d477547356561316c1717d5ddbf4f467b7f3b3b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fd9d0b853a46ffb48bb3203cdbd0b53645ee5925 24-Apr-2012 Marc Blank <mblank@google.com> Harden onLoadFinished against NPE's

Bug: 6379811
Change-Id: I6ad8c72cda517754184ac4e94ae13a4c90a8af28
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
eb7d329e448eb42195f7c35b978035766b6f46e1 21-Apr-2012 Vikram Aggarwal <viki@google.com> Switch to default inbox on Action Bar taps.

The Actionbar now calls onAccountChanged() only when the account is
different from the current account. If the accounts are the same, it
loads the default inbox for the account.

Also, onActivityChanged calls switchAccounts() when switching
accounts, and onSettingsChanged() when only the settings have changed.

Fixes b/6366965

Change-Id: I417d34ecafe499a2df5de81ba7c3f83266e7973b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
09a4bfe3f81ee216b5c4a4e2d083432a4e387abd 23-Apr-2012 Vikram Aggarwal <viki@google.com> Destructive Actions. Part 1

1. Change ActionCompleteListener to DestructiveAction.
2. Call OnePane and TwoPane objects DestructiveActions instead.

No functionality change.

Change-Id: I492de83bc9e49948a4dabcfc5e8438220339fc46
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bf232c3735f65b1a4746943e4a134e59e36f0bde 18-Apr-2012 Paul Westbrook <pwestbro@google.com> Major refactor of ConversationCursor

* ConversationCursors are now associated with a particular loader;
there are no static methods or static state fields
* ConversationCursorLoader maintains a list of current loaders
(for tracking/debugging)
* AbstractActivityController acts as a router of conversation
changes to/from fragments (currently message view -> conversation
list)
* Comment out some ConversationCursor tests for now

Change-Id: I9b8425a19c77501796b6681142e1bc0ad20b3693
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cf164d64bcb1da92b427bda99b97f7ec310ef704 20-Apr-2012 Marc Blank <mblank@google.com> Revert "Major refactor of ConversationCursor"

This reverts commit 5150f03723af8019169aeed8e406784da9c5f8f1.
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5150f03723af8019169aeed8e406784da9c5f8f1 18-Apr-2012 Paul Westbrook <pwestbro@google.com> Major refactor of ConversationCursor

* ConversationCursors are now associated with a particular loader;
there are no static methods or static state fields
* ConversationCursorLoader maintains a list of current loaders
(for tracking/debugging)
* AbstractActivityController acts as a router of conversation
changes to/from fragments (currently message view -> conversation
list)

Change-Id: I0eb554615b4bf93b3547ff28e2bd5913e8703a97
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
632721e6b3a9ba8c476456f2e0fb1b564561e0b5 12-Apr-2012 Andy Huang <ath@google.com> conversation paging

This CL takes the approach of using a permanent ViewPager that
pages through conversation fragments. Its adapter is only
set and populated when the conversation view is shown. In all
other cases, it is an inert empty layer.

One risk with this approach is that it breaks with the typical
fragment transitions that all other content panes use.

On the other hand: conversation fragments are full-on fragments
and benefit from loader separation, and the FragmentManager
takes care of save/restore of state.

Change-Id: Ic17d1ae3f35a0cb1119967f2d34433ad27fa307c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cabd3f227bf97159774e246ad278bb49d4aa2bad 19-Apr-2012 Vikram Aggarwal <viki@google.com> Save and restore selected set on activity lifecycle.

Change-Id: I0b4ca3796a6687f1b2f34c1c180f51e6c4aff4f8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7d81600cbce3cfd366cbff9ecd1b7317ff957221 18-Apr-2012 Vikram Aggarwal <viki@google.com> Update consumers on changes to Settings

Change-Id: I96ed21a16c0dfb290198d2236fee8d21e299ec31
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bf128ebfb9aa53d28118e7143d5674e506fedfef 19-Apr-2012 Marc Blank <mblank@google.com> Revert "Controller/Adapter/Cursor refactor"

This reverts commit 67cc73a0ff9bd1c77f84c4af94f6d95f5bdcf490.
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
67cc73a0ff9bd1c77f84c4af94f6d95f5bdcf490 18-Apr-2012 Marc Blank <mblank@google.com> Controller/Adapter/Cursor refactor

* Tie AnimatedAdapter and ConversationCursor together, removing
the "weak link" via AbstractActivityController and
ConversationListFragment
* Remove all throttling code for now (will revisit)

Fixes the ListAdapter changed crash, and almost certainly CIOBE
crashes; will find/update bugs in Buganizer

Change-Id: Ieb6ca7d77b5e64c822960eec2cb46d624c4d8e1e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0d3837c8f40b18d7fca7a0e191dea6dfe5bdb922 18-Apr-2012 Mindy Pereira <mindyp@google.com> Fix switching between accounts / folders using spinner.

Change-Id: I66ad39556744b181e514ad6175817858f762fb4e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
75181e846462659d1c9b919d0f1250e34647a280 18-Apr-2012 Mindy Pereira <mindyp@google.com> Revert "Rely exclusively on onAccountChanged to set account"

This reverts commit e144837af42e5de330e9e1bcce32f1f20c8f249a
Conflicts:

src/com/android/mail/ui/AbstractActivityController.java

Change-Id: I8ad38fcea6719c27ea95d07b8e6cb3b04c341deb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
66150d75d09324e867be42ff8c0ea8fae115ef20 18-Apr-2012 Paul Westbrook <pwestbro@google.com> Fix a several problems in conversation list

1) When viewing a non-inbox label, the fragment wasn't being
tagged correctly, so it couldn't be found later
2) Make sure to set sRefreshRequired before calling
notifyRefreshRequired(). Otherwise isRefreshRequired() would return
false.
3) Disable the conversation list throttle. This was causing a delay
of up to 4 seconds when switching labels (especially noticible when
switching to a live label). This is also noticicible when attempting
to load more conversations in a Gmail label
4) Make sure to notify the data set changed listener in sync() so the UI
will know that there is new data.

Bug: 6353342
Bug: 6353444

Change-Id: I54b43a2bf9af3fde308a1f703fb2fc61babc9b6b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b1c34dc418e31ae0bfe1b73b6642ed42f5dad67b 18-Apr-2012 Andy Huang <ath@google.com> avoid restartLoader in configuration change sitations

The ConversationCursor and its loader were being unnecessarily
re-initialized on rotation. Only use restartLoader when the
folder changes from an existing previous folder, like when you
switch folders.

Also begin to add an onRestoreInstanceState step, which is very
handy for last-second initialization, after initLoader results
are re-delivered in the rotation case.

Change-Id: Idb39f24cb31f0ccc41379947b047e0af0e615551
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1e2573bbba613fb700e8fa01c58c9382c0027b5e 17-Apr-2012 Mindy Pereira <mindyp@google.com> Commit leave behind properly on pause.

Change-Id: Ia12e60c2d7f5cc6587373f25b80ac2342533b0e4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3726397e5ea70bd93bae75c1103779193c710685 18-Apr-2012 Vikram Aggarwal <viki@google.com> Request fresh recent folders when the loader finishes

Change-Id: Ia011ca7d142eaaccf5746d3629383c563e024711
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
34a650154646f550435b7976d2ac6fc74c21234f 17-Apr-2012 Vikram Aggarwal <viki@google.com> Check all fragments for validity before returning

Change-Id: Idb4d01ad36813deb9d6050c1c7beb47ae3937a41
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9585d7810519b7e5475d9c7458e7a8a9c12fd024 17-Apr-2012 Andy Huang <ath@google.com> do not allow access to unattached fragments

The fragment manager not only returns active (attached)
fragments but inactive ones as well when querying by tag.
Do not return unattached fragments, as the documentation
for these getters states, and callers are assuming.

Change-Id: I3b31592792298e82d746a8ffd1ea0aa6d4a745af
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6902dcf8688d7d0691639f49365a78a3a78fe9e3 11-Apr-2012 Vikram Aggarwal <viki@google.com> Controller gets fragments from FragmentManager

Change-Id: I1d9906ba5d70ed5580e35a53b34797cd5f1e0ad7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e1d1b07cdb0026097eb80f6c2912a16353aacec1 14-Apr-2012 Marc Blank <mblank@google.com> Lots 'o ConversationCursor goodness

* Throttling the cursor!
* Almost dead list items!
* But wait! There's more!

Change-Id: If0fe7b3d22e2dfa0e1d7bb2eaa307d20c52dc21c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cfa500421d5e092c05785b2bd0b216eb664adf53 13-Apr-2012 Vikram Aggarwal <viki@google.com> Read mCachedSettings directly.

Change-Id: I3bc086a6adbcb93c09d138687a2d9b2b9e9ba226
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
481329bf085160ae2fcedb02b722cc765367212e 13-Apr-2012 Vikram Aggarwal <viki@google.com> Call onRefreshReady when we get a new ConversationCursor

Change-Id: I0de67a70f46bdf3368a2fc4cc671aebf4b74c524
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
91d105018478f2eff3481bdde5fc3572d0db234c 13-Apr-2012 Paul Westbrook <pwestbro@google.com> Prevent Monkey NPE

Bug: 6336260
Change-Id: I371636057100237935d05e740188920ec48f58f8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
af1ee0c4b6258530d8da30bcdb2a9cb403f70d5e 13-Apr-2012 Vikram Aggarwal <viki@google.com> Conversation Position Tracker used for destructive actions

Change-Id: Id860fa76adbf28f013354506741c61a809a0ade7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
135fd02e74ea8449b36c3dc44cd796e06a7e714d 11-Apr-2012 Vikram Aggarwal <viki@google.com> Hook the conversation position tracker

Change-Id: Ia1b13ba59eb27fcaf0735e9153e8714b6cad17d9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
498e76d7efccc92386fe57c65a2ef8d5a0172604 13-Apr-2012 Paul Westbrook <pwestbro@google.com> Prevent monkey NPE

Bug: 6332420
Change-Id: I94d35d885bcf2c2de6ae25929aa29d9fd7bccedd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c7a070f90a47ea658c36185c65ba8dcc7f2b09b9 12-Apr-2012 Paul Westbrook <pwestbro@google.com> Throttle the folder loader updates

With large batches of operations, the state of the folder
changes a lot. This causes a lot of update in the ui to update
the unread count. Instead delay the updates of the loader for
500ms from the last call to onLoadInBackground()

Change-Id: I7e7872e5888c74965fd9ca1a86c668cee5a79387
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2d50bcdca57756ecad20d21da0d936243215b79c 10-Apr-2012 Paul Westbrook <pwestbro@google.com> Support for unintialized accounts

This is the initial CL for support for a "wait fragment"

A subsequent CL will make clicking on the buttons in the
Manual sync case work

Change-Id: I7f1ca27eb8792aaa94d354b2753d37783a72b309
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5d9f8b06c0271d913537b154f7e1fa4a30e069fa 12-Apr-2012 Vikram Aggarwal <viki@google.com> Search should not go through onAccountChanged

Change-Id: Iad758442b64562345a2cfc13628b9f2da8a6b833
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e144837af42e5de330e9e1bcce32f1f20c8f249a 11-Apr-2012 Vikram Aggarwal <viki@google.com> Rely exclusively on onAccountChanged to set account

Change-Id: I1e2d9707941dd718ae565a5043740d0ab28f5fdc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0dda573e51786dd907b2674baddbca20ffa5c725 06-Apr-2012 Vikram Aggarwal <viki@google.com> Fix search back behavior.

This is the final issue: we remove the intermediate activity when
searching. After this, back at search results goes directly to the Inbox.

Change-Id: I437d7bd7b08da1d7befdd873b43edaeee6ac99ee
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0963ef8394e1f0bca3f931f930b127b00790361a 10-Apr-2012 Mindy Pereira <mindyp@google.com> Move undo up to the controller level.

Change-Id: I1fa2d921132c0d66c677b428f570c60672471ad9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
04dc819886abc2e4f56e644b03449e29cdbae2d0 09-Apr-2012 Vikram Aggarwal <viki@google.com> Do not clear selection for non-destructive actions

Change-Id: Ie38119b1ceede61d810c354deba3348126d406f7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
18babd2334a0c3dfdcb3519299e4dcbd781c8c2d 10-Apr-2012 Paul Westbrook <pwestbro@google.com> Add support for "manage folders"

Change-Id: Id05e10fcf0d3f1446160c85f0a103f62f2323c27
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1220b6dc0d1dd8069651231da4521d316c485f91 10-Apr-2012 Paul Westbrook <pwestbro@google.com> Prevent NPE when no inboxUri

This prevents a crash in Email when no inbox uri is
returned. This is a temporary fix until we have the
"wait fragment" in place

Bug: 6309927
Change-Id: Ia2cf05d02d32c1a6a3278cf09bf35d1806af886b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0ec2a71d1bb48f1fa57f1a4c8a6d81a49f44400f 09-Apr-2012 Vikram Aggarwal <viki@google.com> Resume CAB mode when returning to folder list mode

Fixes b/6306109

Change-Id: I4449d8f4761fe9544c7d987487ffff14d2a33068
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e25998f8c3d20b37682cfe00aadb4a70c81eb8e4 07-Apr-2012 Mindy Pereira <mindyp@google.com> Gmail will override the base widget provider so we can do folder syncing there.

Fix bug that when you create a widget for a folder other than the inbox,
it doesnt load that folder. The loader for inbox
was overriding the folder set in the intent.
Change-Id: I3c0aeed54421ee73339ca5144b18f119d8436d78
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b17cbc038c5f4b8a43b96db042d958d1ac8c2ec5 07-Apr-2012 Vikram Aggarwal <viki@google.com> Collapse search action menu before starting a search

Change-Id: Ifa3f1c5cf18b4a9b47e1cf261c9c87a8e774ae06
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b1f573c59ec20f9149443e1e0cc8b64ff3a07fea 06-Apr-2012 Paul Westbrook <pwestbro@google.com> Embed Settings into Account object

Change-Id: Ie9e5d32fbd3c0dd21a43e7c6106c32641b51d467
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ce7c5d605af2151839a139a969c6fcf38ffa5146 06-Apr-2012 Mindy Pereira <mindyp@google.com> Fix build.

Change-Id: I3d4565487bdfd7cd41938fd44180de2ab6eaeb88
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
acf6039a23382f18c35f6b487d90d53cb67b5858 06-Apr-2012 Mindy Pereira <mindyp@google.com> Drag and drop into folders.

Change-Id: If80c43fb5643d328bf061c2bed87bd9acb6e4661
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
07118a01f7183645957010779222b84930f75b4e 03-Apr-2012 Mindy Pereira <mindyp@google.com> Make batch archive conversations fly out to the right before shrinking.

Change-Id: I0a62d837acf0e41ad6fe012a87dbde29e0cf2f17
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ad6a275b1a6fdb714893696cd8899e1de1d7d59c 05-Apr-2012 Paul Westbrook <pwestbro@google.com> Fix logging

Some string need to be passed in as format parameters

Bug: 6292050
Change-Id: I5bcf397a5de4a35d33f2b994294f682ea8942e76
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
94c94de8f36698be849da8f103387e7e4d744d42 05-Apr-2012 Vikram Aggarwal <viki@google.com> Preserve settings on orientation changes

Change-Id: I2654945cf885f3038520f7a773ba4e72cde494c6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9b1026f9eebbd345b08b8fd1ea1f775cedf540ea 04-Apr-2012 Vikram Aggarwal <viki@google.com> Fix NPE when restoring from Add account screen

Fixes b/6274397

Change-Id: I4434575acf4399127fb00e4d77c8f134e6429ffb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e128fc21fab03f6d66c656efeee2155fab449a7f 04-Apr-2012 Vikram Aggarwal <viki@google.com> Clear selection set when viewing messages on one-pane

This is missing one crucial functionality:
In conversation view, if we perform destructive actions on the selected conversations, the
selected set is not accurately updated.

For a correct implementation, we need a ConversationPositionTracker class, so that will be solved
in a second pass.

Change-Id: Ie9909ce026c4ec1148b4817d6968699b392e2330
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a543c3ecd4e4b9e5e7faa36c5184a777bdd9d924 04-Apr-2012 Mindy Pereira <mindyp@google.com> Make sure we load settings even when searching.

Fixes b/6288564 NPE in opening the message from Search results

Change-Id: Idef014dde9c033028d2ffe28736bde630e9ba120
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a46a57f2ea73dd8106966598631625bc4cb85ef0 04-Apr-2012 Mindy Pereira <mindyp@google.com> This is part of why the unread count isn't updating.

The account spinner isn't being told about changes to the folder.

Change-Id: Ic103564bc2899806bedd2b351d8d0c9dbff5e601
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5b7b3ab7672ef78b2166a5ff85b6058c17be12ec 04-Apr-2012 Vikram Aggarwal <viki@google.com> Read the current conversation

Change-Id: I379cbe9d4eabc8a68ca2b2543cdc1032aa41c093
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
70f130ee9be956e72bc0686e80c3fc4c92807451 03-Apr-2012 Vikram Aggarwal <viki@google.com> Use existing methods for search, and get authority from resources

Change-Id: Ia5546689a373680330357da4f59663b66413fcf9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c67182dfb4884e92262a2365ecfcc5d254c7999c 03-Apr-2012 Vikram Aggarwal <viki@google.com> Capture current conversation correctly.

Fixes b/6277911

Change-Id: I59d8348b4a9443c56a390008b3ce1b2557938638
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4efdbe6ed68562945c1f2eff4aacdb1b265ee573 03-Apr-2012 Mindy Pereira <mindyp@google.com> No need to load the inbox if we already have a folder.

Pull out logic for determining which folder to load.
fixes b/6281021 Label Widget Doesn't Work for inbox if Account is set to use Priority Inbox

Change-Id: I4a115c7e0c25cccb7b429da4594e243dff2fc4ca
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2675dbc9c1904ec3fb0ab588560f04a68a806bc9 03-Apr-2012 Marc Blank <mblank@google.com> Pass current Account when "touching" a folder

* Prevent cases in which mAccount isn't yet set in RecentFolderList
(this causes "touch" to fail, and notifications to stay up entering
a folder from notifications)

Change-Id: I6c3910218d4f61a5b2845db363941c13f7d9ca0c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6a62146d0af3bf33ff472e4fbfad64f6c582dd8e 02-Apr-2012 Vikram Aggarwal <viki@google.com> Correct authority for suggestions provider

Change-Id: I363e8f00c7baeed9cae94fe25242594d6e4d4250
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c7968873cb1b64b669733aff1e4e6ef766ebd815 02-Apr-2012 Mindy Pereira <mindyp@google.com> Add shortcuts for email/ gmail

Change-Id: Id040760a5fa27d85f535f28a293df1a7ad98582a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7c9f6acdf2b992fecaf0b3ad0afe9ec30ec86f33 02-Apr-2012 Marc Blank <mblank@google.com> Refresh adapter after sync()

Bug: 6260664
Change-Id: If8dac2f01d8680fe2796e6a22b298e8735adb57f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4556a44bef944b90e140d2ba67cc723e0ad5da3a 31-Mar-2012 Andy Huang <ath@google.com> fix CAB mode not working when launched from widget/notification

Restoring a conversation selection set caused the Controller
observer to be lost.

Bonus: fixed parts of save/restore of selection set, although I
couldn't get this fully working due to b/6268401.

Bug: 6247729
Change-Id: Ic11a2390d9efbac50f9d76067d616cd4aafc0db0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dc8963bb37926496e14df8e53e3e5a87a777d9b4 29-Mar-2012 Mindy Pereira <mindyp@google.com> Search results header was not showing up.

Make sure we call the commands for showing/ updating
the results header at the correct times.

Change-Id: I1e5ad2cdd47d5c838b99c20371fc2424d09bd503
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e620a7aca0ecdbc85989af80b7f5ae0fef3831ce 28-Mar-2012 Vikram Aggarwal <viki@google.com> Add search suggestions

Change-Id: I73de81e76e261a7d692a9a2c3d7d641d26e77942
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8c83bd5ed2e7479bb834578f9754b3fb4857dc46 29-Mar-2012 Andy Huang <ath@google.com> don't delegate touch events to a non-existent fragment

Bug: 6247741
Change-Id: I769135a3297442bb21c68bcfe9f7b21431a9b2b6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3b39922630e379ad12c879ffe376bc9cca8436db 29-Mar-2012 Mindy Pereira <mindyp@google.com> Make the search view flash less in search results.

Change-Id: Ib72baf635da2e6e642d1e7b0e07979a75c4ec6e2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e550355f79eed5b133c80b88b332de50dcad8697 28-Mar-2012 Paul Westbrook <pwestbro@google.com> Support for "folder settings" from within conversation list view

Bug: 6219755
Change-Id: Ic881c46a8adb9714ae5c8d1d99fa8d0bb5340214
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2388c5d208acd4e4e658aaacbbc5f080ee8e9f7c 25-Mar-2012 Paul Westbrook <pwestbro@google.com> Support for no account case

Change-Id: I43150580aed2ef8d100702c13190d84f3d8d339c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b283d806115f52491f73bede034f0037c7ead93c 28-Mar-2012 Mindy Pereira <mindyp@google.com> No matter what folder was set in widget, was always opening inbox.

Make sure we only load the account inbox if we are showing the inbox
or have no other folder to show.

Change-Id: I1076aab9d3dc996e58f9c642c0f95fb62949399b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a46c29980f2d81da3529b2f1dfddf7291c94a102 27-Mar-2012 Mindy Pereira <mindyp@google.com> Actually show toast when search is not supported.

Change-Id: I0a5c66b7b6e2dc782e36930a7ee8aba2792774bc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fd0c2974af56ad244006faab2651e054974a4b7b 27-Mar-2012 Mindy Pereira <mindyp@google.com> Handle search hard key.

Change-Id: I0d0063f37d26040234dda36fdf5146e6237b9640
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
792ccbac8b579fc1077712d82144a31fd92241d0 27-Mar-2012 Vikram Aggarwal <viki@google.com> Do not reset the recent folder list on folder access.

Change-Id: I76dafa896d63f46cfd7f91cb1393560e70443b5f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
08935f5787ac90d3cb2be84454665a99e77d024f 27-Mar-2012 Vikram Aggarwal <viki@google.com> Trivial code cleanup

Change-Id: I025fdb85d4eb300b6b889ed270147d7a0da090a5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e6340bc7f2bb9868e5014a101ea69b777d7b6750 27-Mar-2012 Vikram Aggarwal <viki@google.com> Tapping on account takes user to default inbox for that account

Change-Id: Ie6b5f39a7d77dd2c744fa3f1023e0a456fa8ddbd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
26f23fc8cc0d49bc0bea1eeec4c0c4742928f693 27-Mar-2012 Mindy Pereira <mindyp@google.com> Save conversation state, if applicable.

Change-Id: I5b98d5920b27ee025de22a8561da79d577c54bba
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5e478d2c4087b50764756b0edc95941cb6094f68 27-Mar-2012 Mindy Pereira <mindyp@google.com> Fix orientation changes in conversation list view.

Change-Id: Ife8716078773deca265529b76a14cb407393d03d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5ba3380a771aacb052fd14326e59d9efbc5a62ed 27-Mar-2012 Mindy Pereira <mindyp@google.com> Try to catch cases where we can't get data for an account.

May catch some instances of:
Inbox blank http://b/issue?id=6228036 [pwestbro]

Or it may be that our restore from saved state on orientation
change fails. Disable trying to restore from saved state on orientation
changes.
Change-Id: I94b412de7b2f6b43efa1629b38e0ed84885c7b37
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d660d25577e6172baf2e69a983898703ad84e77a 26-Mar-2012 Mindy Pereira <mindyp@google.com> Pull query from search intent.

Fixes b/6228403 Email crashes on search

Change-Id: I2e65e075aa0023c893e3bbce6ad71fb7b5f7f317
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0e88e9f67cd623bc29c1ffa83db1ecaf7cb3298c 25-Mar-2012 Mindy Pereira <mindyp@google.com> Dont destroy the loader until the folder is created.

Change-Id: I3e9420e86414567a29ad40a7e9916884bc9746aa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5b84f41e055135a5733c28a5d234ef944d04498d 25-Mar-2012 Mindy Pereira <mindyp@google.com> Setup rules for when to display/ not display folder labels.

Allows us to pre-display label changes on the ui side.
Rules are as follows:
1) if the current folder and the folder added on the conv are the same,
don't show the folder in the converation item
2) if the current folder is a system folder and the folder added on the conv
is also a system folder and they are of the same type, don't display it
(covers priority inbox and inbox)

Change-Id: Icb7b7f0e8b31ac1ddfb858d5e5961132a064186b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6778f4663a790d3e9d4c6a2f43292eef43c1e0bd 24-Mar-2012 Mindy Pereira <mindyp@google.com> Conversation unread + folder changes.

Marking a conversation unread should force the user to advance
to the next conversation as set in auto advance settings.
Make folder changes show up immediately in conversation list.

Conflicts:

src/com/android/mail/browse/SelectedConversationsActionMenu.java
src/com/android/mail/ui/FoldersSelectionDialog.java

Change-Id: Ib9c21931a3edd4b624ec5f2b853dc1988ec29d5b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0692bafdcf34bf50774328370ac8e31bef7efc90 24-Mar-2012 Mindy Pereira <mindyp@google.com> Check for the correct action.

R.id.y_button is not an action!
I must be tired =P

Change-Id: I9cb23c9f4426d20d401dc49a3c0a8ff3ffff108f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b4a4328a0ba4978cdb58a018c26c1c64722c6d91 24-Mar-2012 Mindy Pereira <mindyp@google.com> Getting a LOT of updates to settings and the inbox from gmail.

Whether or not gmail should be sending these updates, the UI should
only react when it detects a change it cares about.
1) we don't need to reload the inbox when settings change unless the inbox
uri has changed
2) we don't care about updates after getting the inbox folder; the currently
open folder is tracked by LOADER_FOLDER_CURSOR
3) combined inbox special account has no settings; try to handle that case for now
do we want combined inbox account to return settings so it can specify its capabilities
( which will be very limited indeed!)
Change-Id: Idd702fb79e416bc328a2edc9651fae686b420b8e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
12a676a515a17fea42cedfa5ed6885d0b1312643 23-Mar-2012 Mindy Pereira <mindyp@google.com> When the folder changes, immediately restart the conversation list loader.

When the account changes, neither settings or folder are valid,
so null them out and wait for the cursor loaders that are kicked
off to restart!

hmm I WAS doing this...
Change-Id: Ic4832c436675ce7f354da6a16934445e1dba9182
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bec5115726f24733a0a1577caaf05fb6e9ef9c6f 23-Mar-2012 Marc Blank <mblank@google.com> ConversationView -> ConversationList starring

* Star/unstar in the conversation view is now reflected instantly
in the conversation list

Change-Id: I0dade26726bec96610b4c30dded19d36c9dbe439
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c9d59184da271d5a6974edb709e3b39a5a970fa7 23-Mar-2012 Mindy Pereira <mindyp@google.com> Fix up conversation menu items.

Make sure the correct conversation items are shown/hidden
Fix mark unread.
Fix mark important.
Change-Id: I7e5fa60d9501bb123cdd2276afd68c26e300dc3d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ab4863650794e81f35a0fd9abc16a5564d7b102b 22-Mar-2012 Mindy Pereira <mindyp@google.com> Move the async tasks to cursor loaders.

Change-Id: I37f60c698192eea1ac38ca51abae4010223af3b5
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c2074c4442eacf5604dd3cecd06b363e8fc574de 22-Mar-2012 Paul Westbrook <pwestbro@google.com> Rename AccountCacheProvider -> MailAppProvider

Change-Id: I7d1079ab2a48c5c845dee2ceff281bdf00c70b0f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
967ede63e059810d9d4d425c50111d606014c893 22-Mar-2012 Mindy Pereira <mindyp@google.com> Move ownership of the conversationlistcursor to the controller.

That way, conversation fragment, conversationlistfragment, and
all the controllers can get to it for positioning, getting next/prev
conversations, etc.

Also removes need to keep conversationlistfragment from being
destroyed/ nulled out.
todo: should the controller own the list adapter as well so
that is can make changes? unclear.
Change-Id: I2388b8403c4253f6075c03f613ca73c2cfa81422
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0d647354209f4bf57cffa35f008e09853977b189 22-Mar-2012 Andy Huang <ath@google.com> persist and read last viewed account

Only show the first account when there is no useful persisted
value or after an account is deleted.

Fix switching immediately to an account other than the first.

Change-Id: I81758bb1d1fa2c20095598130364ecb7e7a04d52
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e5f4dc0661dad02e2cb39ffa62ff2157147ac387 22-Mar-2012 Mindy Pereira <mindyp@google.com> Make sure we follow auto advance rules for folder changes.

Folder changes might be destructive.

Change-Id: I9798667bcf958dcf301bf6c5db204f51ca3b047a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7ebdfd0f7b082c1e9aad07b2820352fb58beaa3b 21-Mar-2012 Paul Westbrook <pwestbro@google.com> Update the recent label list on app startup

Previously, we were only updating the recent label list when
switching labels

Change-Id: I1f82e69526772c82e9f98876cba46921da564ed9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e173d396447016a18c5b59c92422c3e85630ee91 21-Mar-2012 Marc Blank <mblank@google.com> Set account before setting folder when using touchFolder

* Also, prevent NPE in StoreRecent

Change-Id: Ied4e30bef3265808ebab802795ab8938b09e1d10
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
167faa8584750e37781f22ad7e6d61003029f954 21-Mar-2012 Marc Blank <mblank@google.com> Clean up RecentFolderList; exclude default inbox for account

Change-Id: I6ed600a88fa0ada2a8367090cda036b74b0c7fe6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fbe4019a262f6b1934a44e598009ae63dc5745ee 20-Mar-2012 Mindy Pereira <mindyp@google.com> ellow onepane and two pane to specify their own behavior for conversation changes.

Add menu handlers for help, settings, feedback to compose.
Set up on compose to exit the activity.
Change-Id: I42d2736e83cb5bedbb3194f0cffcf12aca6ced9a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5040f1a73e3c5684901d8a9e2e30a5d58286509f 20-Mar-2012 Mindy Pereira <mindyp@google.com> Make sure we set the current conversation when it is part of the intent extras.

Change-Id: I8c91a28ea335c5fdaf79d6a82ae61be28f2f8207
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
21ab490d4919985d611bc36ae2d8aea86a911499 20-Mar-2012 Mindy Pereira <mindyp@google.com> Hookup logic for going to list, newer, older conversations after destructive action.

Change-Id: I86930dda9124a969307f272946826839713110bc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6ead20dd9643e6435d6c1111f99c520870812ea8 19-Mar-2012 Paul Westbrook <pwestbro@google.com> Add suppression of notifications

This allows the UI to suppress notifications if the conversation
list is visible

Change-Id: I6b866e6f5bc972bcad258995462f400026b26c5d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9024b6d8e1631a190702893873d110917049850d 19-Mar-2012 Paul Westbrook <pwestbro@google.com> Update the folder in the recent folder list when switching folders

Change-Id: Ie404d80df672dc1219c9105f2b00706920949805
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0fc15747458eafd0e2f7bd3274f19eb40c52308e 19-Mar-2012 Mindy Pereira <mindyp@google.com> If we arent showing the conversation list fragment, dont bother to animate

Just call the action complete listener directly.
For now, just pop the back stack on destructive actions.

Change-Id: If269f4594080f28070f7ca6b580422af73dbad42
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6fbc87affe46f6d49c584a307ec836e68163c182 15-Mar-2012 Vikram Aggarwal <viki@google.com> Folder selection, muting, and reporting spam

Change-Id: I5266914bc769ff59cfebb9782c2aeac3b9faf859
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
54452ae7a9cdb607ed1db5e74077b5ebd95c46a2 13-Mar-2012 Vikram Aggarwal <viki@google.com> Conversation menu actions delete/archive and read/unread.

Still to be done:
1. Conversation move to next/previous/list
2. More conversation menu actions: mute/report spam/...

Change-Id: Ifcec13af338b9980bc41ea529ff411f860baa4ed
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f6acdade010b2d0f49fd425b33e7f7b376286490 15-Mar-2012 Mindy Pereira <mindyp@google.com> Fix back stack when coming in from a widget or notification.

Also, got into a weird state and was able to find a few places
where null checks would be useful.
Change-Id: Ida4ac37d618ffb3736f1582351a58e5f86ab6e76
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f9a7348ff7eddd83527e1cf7badf3801d90c77c7 13-Mar-2012 Andy Huang <ath@google.com> random fixes

* Expand scope of exceptions ignored by account cache
de-serialization to include JSONExceptions (and really,
we should ignore just about everything-- hence Exception)
* fix cases in Controller where switching from an account
that did not have an optional URI to one that did would not
trigger a load of that data on the 2nd account. Now,
restartLoader is always called, and the prior loader is always
destroyed.

Change-Id: I669011d4ac737a0bbfb06f7b4f625ff84beb441b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9e146cf66ba7b03b530d1a2877183a4f0704839a 13-Mar-2012 Mindy Pereira <mindyp@google.com> RestartLoader doesn't work if we have ever returned a null loader.

Email accounts may not have a recentFoldersUri, so they never created a recent folders loader (onCreateLoader returned null)
Calling restartLoader doesn't check for null so it crashes
Change-Id: I6c2286f4bdc419a93bf8b5308167cdbe9dcde38a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ea4ee20cc67ee569b7be7201f3e8d7605c20cad1 12-Mar-2012 Paul Westbrook <pwestbro@google.com> Fix crash with null recent folders uri

Change-Id: Ifaa88f5916aee7d4388bd2414ac14f101a9207ad
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fa4b47e4a1962010ec3c8ea7476ac1e701f461b4 09-Mar-2012 Vikram Aggarwal <viki@google.com> Read RecentFoldersList through a loader

Change-Id: I7608815f82a925e7dfd0576539296fbe87631b56
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cd09f5e9bf55e6f4310e8dc9408132b9c88e87c3 10-Mar-2012 Vikram Aggarwal <viki@google.com> Account change impacts conversation list transition

Change-Id: I414f602b7330d1f4cd500093a1b901a667391537
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
11dd5effd79b8078b24bcdb4160e8e12a17317a5 11-Mar-2012 Mindy Pereira <mindyp@google.com> Add load more to the conversation status bar.

If a folder has a load more uri and sync is done, show this bar.
When the user clicks it, query on the loadMore uri.

Change-Id: Ie6dc1671be6f04b9af0b37b65ad7f9941a339ac6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a3911aafc876fc21cdbc5a997ecea5c1f293df5d 09-Mar-2012 Mindy Pereira <mindyp@google.com> Correctly set search result totals. Change from searching to results when synced.

Change-Id: Id7461f29e79c2add714922f54cfbbf8b0e30cf96
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
ec5cbf79b825c6f96d45e85015319c66470b7e57 09-Mar-2012 Vikram Aggarwal <viki@google.com> Store recent folder list in the AbstractActivityController

Change-Id: Ie557cf4e67b55c238c323063e3211117c6d101b3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
276c80bb3ca7cff5f2a0511e8a9d0452ae91d858 09-Mar-2012 Vikram Aggarwal <viki@google.com> Moar cleanup

Change-Id: I2ec187ec05d14000edbfff22acf2b8ff251530fb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a799795e91b2a8049914c4559fa2a89fc0133faa 09-Mar-2012 Vikram Aggarwal <viki@google.com> I can haz cleanup?

Remove unused callback interface, folding the useful methods directly
into ActivityController.

Change-Id: Iececa4fbfbcfa0720d49352e775f22e559afa419
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e0828393e175c9293c86a7490225f324cbec5eef 08-Mar-2012 Mindy Pereira <mindyp@google.com> Expect a folder when doing a search query.

Change-Id: Ia6d7b5a11e26af3eabbfc8fa94fc20a9ce5ba8de
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b849dfbda3c917f078a5c09f03906886c27ecbec 08-Mar-2012 Mindy Pereira <mindyp@google.com> Make tablet search work correctly.

Change-Id: Ib19dcc590fd80aa134aa3afab9989eeac2aec224
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9b62380891e7bc2b46406adac089625e2830a47c 08-Mar-2012 Mindy Pereira <mindyp@google.com> Multiple search ui fixes.

1) Make sure we dont show the spinner animating while the search box is open.
Leads to crazy janky jumpy focus loss.
2) show the search query in the search box when showing results.
Change-Id: I5e8de840e206176645583216353e7510e4029e47
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
68f2e222b4ffccd9f67f02b3a9cfdb3841a7eb43 07-Mar-2012 Mindy Pereira <mindyp@google.com> Hookup search in the UI.

Remove ActionBarView interface and rename MailActionBar
to actionbarview. We needed this for pre v-14 support, but no longer.
Change-Id: I539b6751313e561311921010b03250df632260bc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7a3471faa6baa298b848dedb8510ca0f4c425274 06-Mar-2012 Mindy Pereira <mindyp@google.com> Cleanup formatting.

Change-Id: I99109af559b8e7e91ae84ae05e1b63fe19104bd1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0446cb3a6b4b2c353390840138b5a49e7e8d92b8 06-Mar-2012 Mindy Pereira <mindyp@google.com> Use default inbox.

Change-Id: I6573fa0feea31e3ce2be330d8eeb672ee22080fd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e0458e82563dd06aa003d648e389133d017d693e 06-Mar-2012 Mindy Pereira <mindyp@google.com> Null check.

Change-Id: Ie3a5e56f03eb2431121ecfd6588a89839bf525d7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e3e8429f5665e5cfe3901962ffbae204a5c38147 06-Mar-2012 Paul Westbrook <pwestbro@google.com> Add debug logging

Change-Id: Ibcd6a14ffb966234f0c31e0455de2793a859a7f0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
62c5af833b7e3dc8fe6a81bfff7805af1fb5555b 05-Mar-2012 Mindy Pereira <mindyp@google.com> Add selection state for selected folder; clear selection state when entering convlist mode.

Change-Id: I4b695ec5ac27d16ce4d39025e4e939f3a2b82a8a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dc9d365451ff93f9f0b6f800dc53d036604fb38f 05-Mar-2012 Vikram Aggarwal <viki@google.com> Remove legacy methods from interface

Change-Id: I9bd3e3589abdc52b067315d150a9a1edf9e60661
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1f93668e1186d48b507207841c1ca0529c3de292 02-Mar-2012 Mindy Pereira <mindyp@google.com> Add missing tablet resources; get compose working correctly/ cleanly.

Change-Id: I484a1880009e557fc660d56cda83313efc13825a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
efe3d25aa19da172fd5c3ec39539cdd91f29e927 01-Mar-2012 Mindy Pereira <mindyp@google.com> Destructive action dialogs.

Use delete/ archive settings to determine if we should show a confirmation dialog.
Show confirm discard dialog in Compose and actually discard.

Change-Id: I992bdf598af72a62deadfdfe695a64b89fad5c24
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
559c3b3d302b3f6d2c2cb43a909069d942652e34 01-Mar-2012 Mindy Pereira <mindyp@google.com> Use real default inbox setting.

Change-Id: Id8692cae322f1c0eea369ebc79c856da504f8390
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dac00547ce8d44a964e4510315168ee413e55a75 01-Mar-2012 Mindy Pereira <mindyp@google.com> Read settings and keep them up to date.

Change-Id: I8d41e460b2c0c462edc6a877edc4189c675cef1f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
23b74b988a4f79a5dfc9e6f8c6e9d3b7d2a2ae27 29-Feb-2012 Paul Westbrook <pwestbro@google.com> Directly query Gmail for account list

Also, handle updates to the account list
Change-Id: Iae0f16ba3e4fbf0ba800638548617d6c8099c281
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
3982e236fb2dd36d460df4dbf24e07e8ba55b3bd 01-Mar-2012 Mindy Pereira <mindyp@google.com> Fix up/ back behavior for one pane.

Change-Id: I08ca5364e508eee6910e06fb1b0594a638a6ea0e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bc57bf19ce029f81ad6a700d30bf877b3cfdc135 29-Feb-2012 Mindy Pereira <mindyp@google.com> Make sure the actionbar knowns what the current account is.

Change-Id: I220b49bf251922d592df4079ddd91ad4f3e1d3b8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
6c51158ad3269f157424e6c7bd488425c98da08f 27-Feb-2012 Vikram Aggarwal <viki@google.com> Make constructor public to handle resume/rotate

Change-Id: I4953ae6ed753792eb8a7aced99474fe09976f140
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d8542ad1c3beae1bb3d5ca36ea94b14be8433c06 29-Feb-2012 Mindy Pereira <mindyp@google.com> Cleanup intent handling.

Change-Id: Ife3a6296ee25766bc6f8d87d0786d47ce3f536d1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f9323cdb22acca9ed7873da90407863517ebd90b 29-Feb-2012 Mindy Pereira <mindyp@google.com> Update the folder name in the dropdown spinner when the user changes folders.

Change-Id: I0c088131850d448c32b9ad15d93f96a3b27615a0
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
04ff99c8ac7742e952afb8a25b17f7997fc907de 29-Feb-2012 Vikram Aggarwal <viki@google.com> Remove test activity entirely

Change-Id: Iff2027620f8d109aec581f82528430f04ad58e9b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
161f50d0fabdaa384a63ce69f595861c5e69795f 29-Feb-2012 Mindy Pereira <mindyp@google.com> Use intent to determine if we want to open the conversation list or conversation.

Change-Id: Ic334d81ac4c3a81bb4ab457851dbbe6bbce297fb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
963cdedf714e6e37c7447413cff767b3f2826b28 29-Feb-2012 Mindy Pereira <mindyp@google.com> Pass the conversation and folder objects from widget to app.

No need to re-look up from uri.

Change-Id: I046ca9193517dbb0954e08fb56fbc49aac750d0d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7418e4b9942f291b8de8bc7b1b72a7ef7130a8b6 28-Feb-2012 Mindy Pereira <mindyp@google.com> Setup compose intent.

Change-Id: I2eb09bee0d56efa91c31d809013edab6b30468bc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
cfb7f33ff8ef9dc60b9143af32de64c7a3d71f36 28-Feb-2012 Mindy Pereira <mindyp@google.com> Store URI's in Uri instead of String.

Change-Id: I5492a61b80442afc7cebc5b3d560688aebae8820
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9ae8ce0578b5b097e59fbd1b09fbfb8f824500fb 28-Feb-2012 Mindy Pereira <mindyp@google.com> Add launch intent for viewing a conversation from widget.

Also cleans up some cursors properly; these issues were caught
by strict mode.
Change-Id: I632dbd3a9b170711e3b5740afc919e6b37be51e6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
94e440d7fb9bb54ba4b22e348a2e22f3cf8e0167 24-Feb-2012 Paul Westbrook <pwestbro@google.com> Add support for showing help

Change-Id: I61755c203eaef56f2c27d9110f297ee410265934
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a9b93f35035dc4badd0ac40f4016e1ff809b26b0 23-Feb-2012 Vikram Aggarwal <viki@google.com> Load the ActionBar correctly on Account changes

Change-Id: I1a7fa6476fad7f5c1c01119fc72908b91c930138
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
daef1cef0e6559bc86e1bfe4cd7298df1577860d 24-Feb-2012 Paul Westbrook <pwestbro@google.com> Move folder query off UI thread

Change-Id: I1cdada80a6e7fec291e75ba645663d3d28f6ec2e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
28beb84263683aa2a47d3e42bd322aa11e4dd838 23-Feb-2012 Mindy Pereira <mindyp@google.com> Handle errors in syncing.

Currently shows a toast with a temp string.
Waiting for final approved UX designs.

Change-Id: I2d79b4ec9995b0168dab8165529dd8e19889833e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
c808fac6076182c77fd5348f5136d325c6e34e14 23-Feb-2012 Paul Westbrook <pwestbro@google.com> Changed no_sync to be 0

Change-Id: I8a856ff6f826e502de9b0135b6d930a7645985da
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
bc19a2fe68e735c00ddbc2260bb76e12a1c55dc0 23-Feb-2012 Vikram Aggarwal <viki@google.com> Fix back in conversation mode

Change-Id: Ied8af2edab0990d727326b7920c96a3e9b1366cf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
5cb0c3e684150d6d8ed4d9df4fb73a7606086aaa 23-Feb-2012 Mindy Pereira <mindyp@google.com> Always watch folder for status updates.

That way, can show the user about background syncs
and requested refreshes in the ui.

Change-Id: Ie070a465f6231b3e81aee58350783c213b6073f6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
363451a4e8520cfa7f4abd34f073a75984bb01cd 22-Feb-2012 Mindy Pereira <mindyp@google.com> Show spinning when the user is refreshing content.

Change-Id: I5b5829c63e8fa47b565314b0734da46141b4f784
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9912eee82731d0cbf2c6cf35e62c8388c2a9ee79 22-Feb-2012 Paul Westbrook <pwestbro@google.com> Switch to use EDIT intent for editing settings

Change-Id: Ie0fdab91806c0479f5ebb1dd3670720048d564f4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
e9a81035bcef5a372fa13a992f8553eb60e6aaf0 22-Feb-2012 Vikram Aggarwal <viki@google.com> Start showing label list on tablets

Change-Id: Ib5529ce2eca88c71979ed0bc6340cb2a752ffd25
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2a25d0c0a533563b4d6105553f621181f896043d 22-Feb-2012 Vikram Aggarwal <viki@google.com> Two Pane Actionbar fix

Change-Id: I379045692245296983e91c2a5b5bcffbe0b9602a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b7b33e07325fc6664d8ab803b141b87adaa2d013 22-Feb-2012 Mindy Pereira <mindyp@google.com> Cancel previous refresh commands; watch folder status changes

Staw man for watching folder status changes.
Change-Id: I7a1466d74279dcdc78e2b0930e8b2c4483eaf3fa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2861b6a649090ce1401b4bb04dd87df5bb26472b 16-Feb-2012 Paul Westbrook <pwestbro@google.com> Settings uri

Support for the UI provider to specify the uri for the
intent that should be used for launching settings

Change-Id: Ibcaf35b15774d87436f83475a3971ceae0ede6fd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
28e0c34ad35925fc74633bec66344911f2de6a22 18-Feb-2012 Mindy Pereira <mindyp@google.com> Hookup refresh button.

Change-Id: I79be2fb42ed6902129b65f56b4ef70de5d4c1d90
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
2175d0a93263672d4498458c81b404b0999134ba 18-Feb-2012 Vikram Aggarwal <viki@google.com> Start tying in fragments to Viewmode changes

Change-Id: I09eaeb0c338ab3205e0887a99b9684b4ac0549ca
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
674afa42682908640167fc6109b76f6f843e6fbe 17-Feb-2012 Mindy Pereira <mindyp@google.com> clear undo when tap outside of it in any screen.

Some funny business with relative layouts and z-order
and the undo bar. will fix that in a second cl so i can
animate in/out undo bar.
Change-Id: Ia4d3684ff26563e56b09cafb9ee25980162d1168
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7dedb952c8bb9c7b50f25444a42047d903e5121b 17-Feb-2012 Vikram Aggarwal <viki@google.com> Use LoaderManager for account changes

Change-Id: I244ed7b48453050bf4fe82dc7eea22a37d9cc4a2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
f5acda4a4b7c9e8ecacb41cb7d570ef426b6d4fc 16-Feb-2012 Mindy Pereira <mindyp@google.com> Make MailActionBar use viewmodes; make sure it gets updated when view mode changes.

TODO: would it be better to make it an on view made changed listener?
Also, fixes up behavior.

Change-Id: Ib48d54b4cefc39629182d0df942b0f19fa77361e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
9b87568c9e9f1c32a9672b315229866a58a1e757 16-Feb-2012 Mindy Pereira <mindyp@google.com> Add conversation view fragment.

This pulls over the logic that had been in ConversationViewActivity.

Change-Id: Ib617d3c1cb43265a559a18e05842ca186188b3d3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
0825efd09986173b90d7c7d45617fb22d18b1b96 16-Feb-2012 Mindy Pereira <mindyp@google.com> Fix up conversation label change logic.

This wasn't working correctly in the test app, and that is what
I think we should be maintaining from now on.
This handles crashes, passing around account, selected conversations.

Change-Id: I86242c980945771c73ce57c642e3f70fece4e3a9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
555140c7b7d5129fb2b17df66106cbd6eeef37a0 15-Feb-2012 Mindy Pereira <mindyp@google.com> Make it possible to drill into folders and see conversations.

A little shaky to start.

Change-Id: Ica1a4aac15cec18143b666b9e06593db3d550f5c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
28d5f72e0ad0db75b6243ee8125bfe3aadbdcb85 15-Feb-2012 Mindy Pereira <mindyp@google.com> Make a folder list fragment. Hook into Viki's app.

Also, hook up listeners for changing account in the
account spinner dropdown.
Change-Id: I0e6bbabc525c141fa581f49e6265c26bc767b8cf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d247dc966bca1ed303039c2893c54979d448a336 11-Feb-2012 Vikram Aggarwal <viki@google.com> Allow batch selection of conversations.

Change-Id: Ibaa7e96154b8c433651d9e8ef68f7973b92b7ac9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
dde58f4f271d4bd4d5b58aba7edfd03123f2af88 10-Feb-2012 Vikram Aggarwal <viki@google.com> Fix the incorrect cursor column lookup.

Also save selection state to avoid a NPE when reading
mSelectedConversations from savedState.

Change-Id: I7798c5d860abe0cc2d390313710e466f7a30ab06
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
80aeac5356b5a14a5ef2aff8f0f72a464c9a3cb4 08-Feb-2012 Vikram Aggarwal <viki@google.com> Show Conversation Lists

Change-Id: Ia4356aaa5ee698cad6f648b9d26a5719ba8076ba
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
7d602884ed70d07a42f1adf999fdf51b258f23f9 08-Feb-2012 Vikram Aggarwal <viki@google.com> Return ActivityController object from MailActivity.

Instead of delegating individual methods, we return the controller
object as the appropriate interface.

Change-Id: I7122a921037c83dc63e9f0987d0f95171061cdf9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
8b15263097bd9ce1a28db981b6a85261e6cb6886 03-Feb-2012 Vikram Aggarwal <viki@google.com> Change ActionBar to allow reading real accounts.

Change-Id: Ic81ce7eecfb38e43fdaa9363ff5eb9981778c9b4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
d7a12cd5b5c2639b653d8c671b04844ef02ee01d 03-Feb-2012 Vikram Aggarwal <viki@google.com> Create TwoPaneLayout from TriStateSplitLayout

Minor changes to the OnePane and TwoPane Controllers to hook in the layout.

Change-Id: Ie3fc73ed3fb63441d7ed9b79ce02c2f1e9f51e36
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
fa131a2ff399fd1d544f759b063268fb4e8a3e70 02-Feb-2012 Vikram Aggarwal <viki@google.com> Make ViewMode focussed and small.

1. ViewMode is no longer aware of tablet versus phone UI. This is the
responsibility of the ActivityController now.

2. onViewModeChange receives the new mode as an integer rather than
the ViewMode object.

3. Rather than a plethora of isXMode() isYMode() methods, client
classes need to manually check getMode() against ViewMode.X
ViewMode.Y constants.

Change-Id: Ib06196671ad49328c40cc9237667c0a1daf328f7
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
b9e1a353c6a173a2885642dbcc1939f3281f29f7 25-Jan-2012 Vikram Aggarwal <viki@google.com> Create ConversationListFragment

The ConversationListFragment does not do much right now, but the
framework is in place. Next steps will include showing the
conversation list and allowing for conversation selection and the
Contextual Action Bar.

Change-Id: I130bb77a93bd4f58b189cb6ce47adc9e09f8e6ae
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
1ddcf0f2bf44d3c9db89112ef52510d9b2433ac4 13-Jan-2012 Vikram Aggarwal <viki@google.com> Adding more ActivityController dependencies

ui.ControllableActivity added from Gmail.
One pane layout files brought in.
Minor changes to make everything work with the test activity.

Change-Id: I8cacd5f36394fe4a786590e2e381369a3afb5494
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
a55b36cb6b75ce8096812183651e89115300975a 13-Jan-2012 Vikram Aggarwal <viki@google.com> Bring more classes into Unified Mail

Bringing in
SubjectDisplayChanger: (was called ConversationSubjectDisplayer in Gmail)
AbstractMailActivity: (was called GmailBaseActivity in Gmail)
MailActivity: (was called GmailActivity in Gmail)

These are called the same things they were in Gmail:
ActivityController
ControllerFactory
OnePaneController
TwoPaneController

Change-Id: Ie761407cad891b669172acc729950f9d358f5c34
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java
4a5c530b0a67e22bd74df8f10f29278dc8d86459 13-Jan-2012 Vikram Aggarwal <viki@google.com> More activity controller dependencies being brought in.

Create AbstractActivityController, ConversationSelectionSet,
ConversationSetObserver and LayoutObserver. These classes are copied
from Gmail, with some modification: Labels have been renamed to
Folders and some useless functionality has been removed.

Change-Id: I89522c9f5588874d1e3fb6992acad0aefff281d1
/packages/apps/UnifiedEmail/src/com/android/mail/ui/AbstractActivityController.java