History log of /packages/apps/UnifiedEmail/src/com/android/mail/ui/ConversationUpdater.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
87a8982af83168453b6dc219fe984bff68047beb 15-Aug-2014 Andy Huang <ath@google.com> Peek mode for 2-pane landscape

Peek mode allows CV fragments to be visible but not marked viewed and
read. TPC keeps a global flag for whether the current conversation
should be peeked vs marked read. I have tried to manually reset the
flag in the 6 cases that cause the current conversation to change:
1. tap another conversation (don't peek)
2. swipe to another conversation (don't peek)
3. keyboard-advance to another conversation (peek)
4. auto-advance=newer|older (don't peek)
5. auto-advance=list (go older & peek)
6. empty CV and a list cursor has loaded (peek at i=0)

Swipe, in particular, required a new onConversationViewSwitched() call
in CPA because onPageSelected() is triggered both when swiping around in
the view pager AND when simply setting the initial page as part of
constructing a view pager.

Thankfully, there is only ever one copy of this peek flag in the app, in
TPC, since AAC/TPC is where all the work is done both to mark
conversations seen and to switch to new conversations.

Rotation to portrait on tablets now requires tearing down a ViewPager;
this code and thought process is documented here: http://go/xqaxk

TODO: selected indicator for transition from peek->read state in-place
TODO: touches in CVF should mark it read

Bug: 17291366
Change-Id: I24f71a2b7985773814d8caad9f3ab3fe5c3609c8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/ConversationUpdater.java
f55863727de2bb15f1906944bbc88c82703a3aff 08-Apr-2014 Jin Cao <jinyan@google.com> 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
/packages/apps/UnifiedEmail/src/com/android/mail/ui/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.java
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/ConversationUpdater.java
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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.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/ConversationUpdater.java