History log of /packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f9b96e244e6c6a19cb1920ff129f424997db2727 17-Oct-2014 Jin Cao <jinyan@google.com> Save the focused conversation via id instead of position

Don't rely on saving the position in the adapter because the position
might change as the adapter's data set changes (e.g. new mails via sync),
and we have no way of modifying the focused position accordingly.

Instead, save the focused conversation with its id (tried using the uri,
but the uri might change when the conversation gets cached). This way,
no matter what happens to the items in the adapter, the focused item
remains consistent.

b/18027602

Change-Id: I51aa68bc15c5892c3b34bde5c199de281390ce7b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
0532b0edb999c6e131bfd1f2e1eccefed049ba49 16-Oct-2014 Jin Cao <jinyan@google.com> Programmatically set selected state to correspond to peeking conv

I can't simply rely on ListView#setSelection to programmatically
set the selected item because setSelection only caches the
selection internally if the view is currently in touch mode. Thus,
in touch modes, isSelected() will *always* return false for an item
in listview.

In order to know what's the current selected item, I keep track
of the selected position that corresponds EXACTLY to the listview's
selected position. Again, I can't use ListView#getSelectedItemPosition
because it will always return INVALID_POSITION in touch mode.

I change the selected position whenever a child calls setSelected()
or we programmatically call setSelected. I tried using onItemSelectedListener.
However, the listener's callback is called after the selected state
is changed AND the re-draw happened, so the UI gets inconsistent since
the selected state didn't properly update during the re-draw.

When we programmatically select an item that's visible on the screen,
we have to use ListView#setSelectionFromTop and pass in the current y
value since the default behavior is to scroll such that the selected
item is at the very top.

Also, another caveat is that I am now saving the ConversationItemView's
position in the adapter when the adapter binds data to it. I find that
this approach is much more dependable than using ListView#getPositionForView
because sometimes (for reasons beyond me) in ConversationItemView#setSelected
the listview ONLY HAS ONE CHILD (even though on the device I can see a
full list), thus getPositionForView will return index 0 since it thinks
it's the only child.. I have no clue, so I'm saving the position myself
instead.

b/18015875

Change-Id: I11897056fc9fa630eb4019532b1fd4cf41c7486a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
f9fd2cf057d845c7b081a3f17482dd0b886179d1 11-Sep-2014 Rohan Shah <shahrk@google.com> Update shadows for TL (Quantum) UnifiedEmail

NOTE: I'll fix FAB issues in a different CL

Add shadows assets on L & pre-L (RTL included)
for thread list sides. To avoid overdraw, the
backgrounds have been modified (The outermost
framelayout for TL now has a white background
instead of each of the conversation items).

For both L & pre-L, we're using two shadow assets
on either side of the TL, both of which are
set as backgrounds for the drawer and
the conversation view (conv pane). Elevation
didn't work out too well and will be revisited
while fixing overdraw issues (Need to move around
swipe/leave-behind item backgrounds and it
seems a bit risky to mess with it given the
timeline)

+ Also removed the background on the loading
item under conversations in the TL and used
the default conversation item background to
get rid of the ugly divider/slight line flicker
on folder change

Bug: 17461682
Change-Id: Id9e4504b6063f21a055ed492fc8de962e6e52462
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
0207f18f524aa75c5a4de7b5ce71377d9dd7b20c 10-Sep-2014 Jin Cao <jinyan@google.com> Remove unnecessary calls to setCheckedItem

We have multiple places where we call setCheckedItem, and it
seems that there can be discrepancy among what indices are
checked, so we get weird behavior when we are in CAB mode.

b/17441959

Change-Id: Ia5ad6f17288b76b5fe4b5a4d64ef856f77c13616
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
ec0fa48764bede0772e9c711f3e33361b62f3608 29-Aug-2014 Jin Cao <jinyan@google.com> Keyboard support for focused state

- remove focusable from FAB so keyboard won't navigate to it.
- rename selectionSet to checkedSet
- selected is a state for listview to focus one of its elements
- what we really want is checked state for checked items in CAB mode.
- show the blue focus bar when isSelected returns true
- this is auto-set by the framework as we navigate using the keyboard.
- remove blue background color for selected state

b/17258708

Change-Id: Ic9739c9b349403942f64fafa26500c08d1f1cc4c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
f211b12a7cdf6556f489df51c6f57dd79e8887fe 22-Aug-2014 Andy Huang <ath@google.com> prevent list swipes when 2-pane drawer is open

Bug: 17070336
Change-Id: Ie33ae772053dfe9b0f592a6ce3f42f2d5f018dbe
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
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/SwipeableListView.java
eb145d45c17b08ce09131e84b96350925b3db81a 01-Aug-2014 Jin Cao <jinyan@google.com> Ditch HeaderViewListAdapter and support headers

Support arbitrary number of headers in AnimatedAdapter
instead of relying on ListView#addHeaderView and
HeaderViewListAdapter.

b/16728934

Change-Id: I1e4d02ac8b6557411ab47895002088d798ff2fc2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
af9dc29f589c6ee771db22e3a2923b8bae46aafc 26-Jul-2014 Jin Cao <jinyan@google.com> [Quantum search] update search header

Add search header to be part of list so it scrolls
properly. Updated corresponding styles.

b/16518233

Change-Id: I795ea687795c2f3d96dc241eca2a9044957a9936
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
0e29e769c74e385342fc5dc8e9c85517771aaa34 11-Jul-2014 James Lemieux <jplemieux@google.com> Remove attachment previews from Conversation List

This includes:

- all references to the 3 attachment preview columns in the Gmail
conversation table (except for migration code in MailStoreInitializer)
- all layout and drawing code for attachment previews in conversation list
- all assets related to attachment previews
- all preference and analytics code that aided attachment previews

NOTE: This does not alter, in any way, the display of attachments in
conversation view.

Change-Id: I0aa5a32c8cce0ba98758827b973b323896932c39
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
3432b636fbcf7d6cc551b9705ed4dd88ae2b4f49 28-Mar-2014 Jin Cao <jinyan@google.com> Refactored undismissable swipes

In this change I refactored out the placeholder no-op id introduced
previously and instead default the "bounce back no-op" behavior for
all swipe gestures that occurred on conversation items that are not
dismissable (due to either folder settings or user settings). This
should make the user experience more consistent.

b/13681416
b/9825846 // original issue

Change-Id: Ibeee419314e22b552a0b6dec4d4adbc8e17d38bf
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
d4e02e4072a34c0207841298ddcb4f081a94973a 26-Mar-2014 Jin Cao <jinyan@google.com> Change default swipe action

For folders where archive is not feasible (e.g. All Mail), we are
changing the default action to be a no-op (bounce the item back)
instead of deleting it since it can be confusing for users.
For delete, it still deletes everything regardless.

b/9825846

Change-Id: Id56d2327db3b2bc48f94a8afb3ca32c95b56c4ef
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
7c411aafd9ef059f881b7532426e61d1def54a07 10-Feb-2014 Andrew Sapperstein <asapperstein@google.com> Disable swipe refresh when swiping to archive.

Fixes b/12570813.

Change-Id: Ifa5f427f83e038ed3f5402c85e9416a1512ee691
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
a8301e2eb5a083a73f58331279c86e8ec7b11a48 22-Aug-2013 Mark Wei <markwei@google.com> Use Drawables for senders image. Less animation jank, less GC jank, less memory.

Protip: When testing sender images, go to your Sent folder. Tons of senders
images appear because you are most likely to talk to people in your address
book.

Rewrite UI to use modular Drawables. It's much easier to understand, since
Drawables with different functionality can be composed.

Flipping animation is 10x smoother. Handles quick double-tap on senders image
correctly.

Letter tiles are not allocated bitmaps anymore. They simply draw a rect and a
letter to the canvas.

We are no longer allocating large bitmaps for every list item. We reuse Bitmaps
whenever possible the same way that attachment previews do.

Much smaller 339KB cache since we don't share with attachment previews anymore,
just enough to fit 10 off-screen contact images.

Bug: 10429228
Change-Id: I463b63520d881eefe3974dccf295366831adaf9e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.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/SwipeableListView.java
aa76bdfae889b995395a7636742128b3585727f9 07-Aug-2013 Mark Wei <markwei@google.com> Add a setting for attachment previews.

Bug: 10131520
Change-Id: I861a3aa7a1131c1a089011aed7492a0e4ff1ebcc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
aab2990ecf2786663b4340eee0b0e28064c067f5 02-Aug-2013 Mark Wei <markwei@google.com> Merge "Fix nit 5. Do not decode in background thread if cache is not warm." into jb-ub-mail-ur10
670c280136f587688d41027ce1ff1596068a35e0 01-Aug-2013 Mark Wei <markwei@google.com> Fix nit 5. Do not decode in background thread if cache is not warm.

When the ReusableBitmap pool is initially empty, all decodes must construct new
ReusableBitmap objects, which often causes GCs that cause jank during scroll.
This prevents the jank by notifying the ReusableBitmap pool that a scroll is in
progress, which causes the pool to block on poll() if no ReusableBitmaps can be
returned.

Bug: 10083052
Change-Id: Iaf8b244617a05d4736df041e888c9140d182c3a3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
901bf8b70ead9af21652c0f01fd9b87b2c7efc6c 02-Aug-2013 Mark Wei <markwei@google.com> Change default parallax speed to be slower.

1.5 multiplier is what we used before and it seems to work well with testers.

Change-Id: Ie69e877c865a45dceb16409f876a12a4b842b0d4
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
52a61db87c487fe5bb7cc673037887a6d35b0f0f 02-Aug-2013 Mark Wei <markwei@google.com> Fix nit 9. Add setting to change parallax speed and direction.

Change default speed to 2.0 multiplier.
Change default direction to normal (new) parallax. This looks like you are
looking through a window, at the attachment previews which exist in another
pane.

Bug: 10083052
Change-Id: I91f91ae57cda2da22cc5e3330f67982df454e7bc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
65b6d180f50922a3393795203cae68a5a2f6a33d 31-Jul-2013 Mark Wei <markwei@google.com> Fix attachment nit 4.

Add ContiguousFIFOAggregator to aggregate decode results and display them in the
correct order.

Bug: 10083052
Change-Id: I28b00fe44818f7882e44ef222d85d58ce111c7fe
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
79c3e1ed9cb1e1660c5d34b7bf3f3ab5c5dd5162 22-Jul-2013 Andy Huang <ath@google.com> new allocation-minimizing bitmap decoder

Use a new image decoding and caching framework. This one maximizes
bitmap reuse by decoding into fixed-sized Bitmaps and relying on
BitmapRegionDecoder to only decode a desired region. The ultimate goal
is to allocate memory less often, as each large allocation triggers
GC jank.

The overall request/response abstraction and threading model are now
cleaner, and caching is no longer a required fixture. Multi-core
decoding is now supported, with a currently fixed thread pool size of 4.

Attachment images are the only client for now, but contact photos will
switch to this framework next.

Bug: 9566006
Change-Id: I7c437941fd984cc0038da8f0ffd1df1a9ced4dd3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
1fea6a3cffcc8c4afc3d877e5dc57d29f9665942 10-Jul-2013 Scott Kennedy <skennedy@google.com> Better CAB mode

1. Flip out contact image, scale in a checkbox optionally on grey
background
2. Flip stars into peek icons
3. Only peek icon will peek

Bug: 9592097
Change-Id: Ia972132284ef62f4964c7027ab09157a525dd804
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
2229eddfba6f7517c43ef49ee67c50c24d4b961a 16-Jul-2013 Mark Wei <markwei@google.com> Add fade animations.
Fix exceptions.
New layout for previews.

Bug: 9745486
Bug: 9860384
Bug: 9885937
Change-Id: Ief210b211e87898c6516d867b59d76c72a765596
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
81aea35d45b3d0191ec595562a2fcf67009845d5 10-Jul-2013 Mark Wei <markwei@google.com> Final UI for Attachment Previews.

Placeholder pulsates for images not yet loaded.
One images loads at a time, that one image will display a spinning progressbar
after a delay.
Progress bar fixes to ensure it is rotates smoothly.
Clear section before drawing to it so transparent images look right.
Avoid PhotoManager load loop.

Bug: 9745486
Bug: 9816053
Change-Id: I2e65b3e3484d6da47d4e2523404dc745b99dd04c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
479505d71969e26b0785d8e0e1b81108731cf827 21-Mar-2013 Mark Wei <markwei@google.com> Attachments in Conversation List: Backend changes so that the appropriate
attachments are passed to the UI. Implement PhotoManager so we can start showing
images.

Upon sync, we extract two image attachments from the first unread message, and
add them to the conversations table.

UI changes as well.

Load BEST if that is available, else load SIMPLE.
No vertical dividers in attachment previews.
Attachment previews are above labels.
Round badge appears for unread conversations when there are more images than
shown. Only appears after the previews have loaded.
Clicking on the attachment previews launches photoviewer.
Attempt to load bigger images than necessary to prevent reloading during mark
read/unread and rotate.
Show animated loading icon while previews are loading.
Previews load from top to bottom, from left to right.

Big performance improvements:
No longer decoding bitmap on UI thread. This kills most of the jank.
Only load when we are not scrolling. This kills a lot of jank.
Remaining jank will be delt with later:
DividedImageCanvas.setDimensions() creates a huge empty bitmap on the UI
thread, which causes a GC. ath will fix.

Multiple images in one line now load whatever's ready first. Added tracing.
Bitmap cache given more memory.
Following ath's advice, decode Bitmap from InputStream rather than byte[]. Don't
compress into BitmapHolder. Only use the bigger Bitmap cache.

Bug: 7481049
Change-Id: Icf823f56abc9345e6d0b800a1e6d45444d8fa028
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
63e54efbf729942d87ac129c23cee0ce7088096e 14-Jun-2013 Andy Huang <ath@google.com> am 599e7f8b: fix occasionally opening the wrong conversation

* commit '599e7f8bf95d2f21a966cbff1bf72adf77a90a33':
fix occasionally opening the wrong conversation
599e7f8bf95d2f21a966cbff1bf72adf77a90a33 14-Jun-2013 Andy Huang <ath@google.com> fix occasionally opening the wrong conversation

The 'alternate strategy' for finding the cursor position of the
ConversationItemView you clicked on wasn't taking into account the list
scroll position.

TBD: why do we even get into this case?

Bug: 9430513
Change-Id: I3780ca563307a4347b1c6ad666b42dc1dc934659
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
f69d0394f7de5c0681b8d5d5ca0c60b55c55f815 07-Jun-2013 Vikram Aggarwal <viki@google.com> Fix the folder click problem

The SwipeHandler should never act on NestedFolderView elements since
these should not be allowed to swipe. Fixes the issue where the
folders were not clickable.

Also, remove a lot of unused code in the SwipeHelper.

Change-Id: I4495a4224e28d52560ead47ee9e3f6d34c4ab916
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
5952761d1916f8568a47a55c6f6a74b90aad2b83 27-Apr-2013 Mark Wei <markwei@google.com> am 6126d72a: Fix multi-selection on tablets. We invalidated our previous assumption that tablets will always have a checkbox. This fixes new issues with tablet CAB mode.

* commit '6126d72ae2769bd39451872f45781cadb5b90515':
Fix multi-selection on tablets. We invalidated our previous assumption that tablets will always have a checkbox. This fixes new issues with tablet CAB mode.
6126d72ae2769bd39451872f45781cadb5b90515 25-Apr-2013 Mark Wei <markwei@google.com> Fix multi-selection on tablets.
We invalidated our previous assumption that tablets will always have a checkbox.
This fixes new issues with tablet CAB mode.

Bug: 8698135
Change-Id: If76f0f3d07f1b515afc5d05f57f0d8cc068b3fe9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
20a97ded277fdcd3c63952a23718410c2882103f 17-Apr-2013 Vikram Aggarwal <viki@google.com> Clean up selected set

Toggling values in the selected set needed ConversationItemViews which
were passed as null under controlled circumstances. It is much
cleaner to pass Conversation objects, as all the relevant information
is contained there.

Removing the view from the toggle() call. No change in functionality.

Change-Id: I88f5a91c721ff673ae5b6efd251ebd034a8d5ffa
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
d62e80ce9e023c8661797f4db68cc09ac80adb79 12-Apr-2013 Alice Yang <alice@google.com> Merge "Disable pull to refresh during a swipe" into jb-mr2-dev
e6f4ddc19c205796cde91d58483fa39c3cc13f1a 12-Apr-2013 Alice Yang <alice@google.com> Disable pull to refresh during a swipe

Also removed the velocity trigger and only use distance traveled to
trigger pull to refresh.

Bug 8572410

Change-Id: Ia8c04e97aaf4ec42e96cb42996d94403539e7162
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
370f868c834861e7732faaa9bdd07a0fa0105596 09-Apr-2013 Andy Huang <ath@google.com> fix shorter-than-expected leave-behind view heights

Make leave-behind heights variable, dependent on the
ConversationItemView that originated it.
Make the background on a SwipeableCIV not a separate view, but a simple
background. Also simplify the conditions under which it occurs-- it just
appears whenever translateX is non-zero. This covers all swiping and
animating cases handily, without the need for extra listeners.

Remove an old workaround that gave ListView on 1-pane an opaque background-

- it was there to mask FolderListFragments that stuck around, but those
are relegated to the drawer now. This reduces list overdraw by one.

Bug: 8570880
Change-Id: I2e2ea875d4ab58b5048d41025b8a2c48a3d63536
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
dbb587f15c723ae80edb33f65c29cc2b6c15eba0 11-Apr-2013 Scott Kennedy <skennedy@google.com> Always open the thread we click

Conversation.position is not something we should be using. It can be
wrong, and it's difficult to keep in sync with what we want.

Bug: 8441077
Change-Id: I34d4c2568ec38dca62505bd629dbccdfb5b06b5c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
4485ade4b8c949a222f8b98650a9a48d074dc87e 22-Mar-2013 Vikram Aggarwal <viki@google.com> Dead vertical left, to disallow accidental swipes.

A vertical block of pixes on the left edge of the screen should not
accidentally swipe the conversation since swipe is destructive.

Bug: 8434484 The new gmail UI makes my experience more difficult
Change-Id: Ic135600eed75c435dcc131ee544492f23365e3ea
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.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/SwipeableListView.java
cec3e0b9c90173e0bdb2d072046b38714fc9186e 05-Feb-2013 Paul Westbrook <pwestbro@google.com> Speculative fix for dropped archives

If the list view isn't able to destry the item, perform the action
manually

Change-Id: I07ae2cd28cdc38033b3e6d6697746a0f3b9c13f9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
4d4531a63cff536d2ee1a2929d0820981df8516a 17-Jan-2013 mindyp <mindyp@google.com> Updates to swipe interaction

When swiping away items, wait to fade in action text such as "archive | undo"
until:
1) all items that are being collapsed have collapsed
2) we are no longer waiting for the user to try to start swiping another item

Change-Id: Iaec75fb6a3a144e8b4c469f6e48f4354ec4aff8d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
7af43c93d4ca90bb0a43ec790a434c95128cc99f 19-Dec-2012 mindyp <mindyp@google.com> Fade out other leave behind when user starts new swipe

Change-Id: Icdd1b7d65715852d5fd976e7fccaf5790f940892

Conflicts:

src/com/android/mail/ui/SwipeHelper.java
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
3b5e82b06a0af3f5ddf3667de9a2aa26eeb5f24b 18-Dec-2012 mindyp <mindyp@google.com> swipe tweaks

Change-Id: I5011f11989056376be748161fdb3f0e699366454
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.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/SwipeableListView.java
4e77a7d8f44066d0e8fda00d0398037ebf2cfbe9 27-Nov-2012 mindyp <mindyp@google.com> Use the conversation objects we already have instead of the views

Otherwise,when a view is recycled, it will point to a different conversation
and we will have issues

Fixes b/7605640 In Gmail app, taking bulk actions shows the wrong thing

Change-Id: I52e7d59e2f123b90f932b139bf2e475c260d4e0b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
69b440141f402669fe44dfd8924a94fd22ebccf7 09-Nov-2012 mindyp <mindyp@google.com> No need to check swipehelper when the user is actively scrolling.

Part of b/7481404 Stuttering / slowness on Gmail scrolling

This seems to be where we sometimes get a slowdown in deliverInputEvent

Change-Id: I985d1effbab28e10906053bf0574d033fa2af64f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
c7e3a7db9ff9cb43241995001462764b70b75e96 20-Oct-2012 Vikram Aggarwal <viki@google.com> Avoid null views when deleting items from list.

This fixes the immediate problem as described in the bug. Archive
correctly archives the selected message, though it doesn't animate the
view.

However, this exposes problems with the ConversationSelectionSet that
are being tracked in a new bug b/7384468

Bug: 7353826 JOP12D: Archive button in Gmail Inbox view doesn't work
Change-Id: Ibaffee0eb0b0647fcfce82ebc2ff0d147feccb89
after change of orientation
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
9be59911221b236b10c7575e407ac587c9231bc7 19-Oct-2012 Andy Huang <ath@google.com> clean up debugging code from b/6946182

Change-Id: Ic6605e5e0fc7ba555801c7c11f5cdd2141047541
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.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/SwipeableListView.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/SwipeableListView.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/SwipeableListView.java
cc2f9296ad63ed681c200feb118c5caace36e72e 07-Sep-2012 mindyp <mindyp@google.com> Use overridden method for finding item position

SwipeableListview already uses this
Now make sure other children do as well

Fixes b/7129005 Gmail crashed opening a message after deleting few messages

Change-Id: Ia0db43fd3ad1ac0cdf39612e2e91bae9e8a2efc3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
0760bfbf8259e4161ce7737fc980b6b9297885cc 07-Sep-2012 mindyp <mindyp@google.com> protect against null

Fixes b/7126330 NPE in Gmail2 Build 483

Change-Id: Ie44f1bf4aa9c8c8506c0ecfb4b5329141e534a96
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
d064972c4a032f3c5cfcb236aa470273f7ac2ce0 28-Aug-2012 mindyp <mindyp@google.com> use swipehelper to determine scroll

let swipe helper determine if the user meant to scroll
fixes b/7022556 Increase scroll threshold gets rid of leave behind
If we use the scroll listener, we don't get to use our own threshhold
We want to be careful when the user has started on the leave behind item
and make sure that we dont just detect the user playing around on the item,
maybe just a touch for "what did I do here?" and dismiss it by accident
So the threshhold for dismissing the item when the user starts on the
leavebehinditem is larger than when they start on another item.

Change-Id: I1e55e6c9be07e026b19a4ad55ad531305d3777d2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
bc88f16af48d9538b79cbeab88cd275cb769a67d 24-Aug-2012 Vikram Aggarwal <viki@google.com> Change view logging level

Problems are logged at the INFO level
General debugging is logged at the DEBUG level.

Enable view debugging:
adb shell setprop log.tag.MailBlankFragment DEBUG

Disable view debugging:
adb shell setprop log.tag.MailBlankFragment WARN

Change-Id: I12a9db79d03c66d4511d8bd787dc0c506922d099
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
7517e3b61b898a57f19be0671f70d58a82224643 20-Aug-2012 Andy Huang <ath@google.com> Turn on Andy's most excellent copious logging of layouts

When the 'MailBlankFragment' logging is enabled, this will disable all
hacky workarounds and log view state. When a blank view happens, look
for logging with this tag to see where the view state might have
messed up.

With the 'MailBlankFragment' tag disabled, this removes all logging
and enables the hacky workaround to patch-up view layout requested
state.

Bug: 6946182
Change-Id: Ia4c2515f969be29678dc0a9bd1c11d487e3d1520
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
a6e965ef4a7ac2266f0a5509be25ac1e8d272595 21-Aug-2012 Andy Huang <ath@google.com> refine workaround for b/6946182

and expand it to apply to ConversationViewFragment.

Bug: 6946182
Bug: 7024591
Change-Id: I39c443692ad9294ca431c846fcabe86718800a72
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
443275a9e4f9f66d982cbcadca215be239663a7a 18-Aug-2012 Vikram Aggarwal <viki@google.com> Hacky workaround for blank views

Change-Id: I0bd30cfca4403ccbb999e942f31c64954c042b4b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
a538984fcc19e7624f2650b119ede39bf1f35846 18-Aug-2012 mindyp <mindyp@google.com> Dismiss just the text from the leave behind instead of the whole item.

Leaves the BG there so the change isn't as "shocking"

Change-Id: I95b6929dadbf9b5e7c80931a3f65111fc4a695ff
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
94bed47732808afb56861ff4533ca4ddc32a43dc 17-Aug-2012 mindyp <mindyp@google.com> Protect against null

Fixes b/7008821 NPE on archiving a selected message

Change-Id: I733727598875b9910ec2dbceab26fc19096be9e6
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
84f9b5c60dc023570202859ba1d30cf9cb5e6e7a 16-Aug-2012 Mindy Pereira <mindyp@google.com> Don't show the action as we are swiping, just on the leavebehind.

Fixes part of b/6926116 need visual design for swipe

Change-Id: I2f53e5b652ee687f7046306064917e55b7ea005e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
13e6243683cc8cb998a43d06f25d6ff1aab9d93b 11-Aug-2012 Mindy Pereira <mindyp@google.com> Use my method for finding position.

Change-Id: I4e1df486ef217a7658dfd2b5ddd3c14cb8df922b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
c6e22c76be15b86df66770c08edc5f9e5b844280 10-Aug-2012 Mindy Pereira <mindyp@google.com> Remove unnecessary code

We don't dismiss multiple children via the swipe helper
We use animations attached to the conversationitem views themselves

Change-Id: I5254e378df3b2e181dabfb547658f5dab5a5c8d9
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
9a604d0a4bbf41e9c287c5138b3f10db4b60f6c2 09-Aug-2012 Mindy Pereira <mindyp@google.com> Animate away the space when dismissing a leave behind.

Will likely use thsi method when dismissing by tapping another item
when still in conversation list.
Fixes b/6948666 animation for dismissal of archived "stub"

Change-Id: Idcb13d8e3fbebccd4a01b54513e251d00fd1076c
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
067ef97264240a2c3f9172a9ab88ba43fef7c475 08-Aug-2012 Mindy Pereira <mindyp@google.com> Moved swipe animation into animated adapter; alternate method for finding position

Fixes b/6930375 Crash on Swiping to archive few messages in quick succession
fixes b/6933685 After swipe to archive, tapping on email to open is off by one message
fixes b/6937509 seeing duplicate messages in inbox; when clicked, they open a different message

Some small funkiness in the animations on latest build; the top most item in the list is overlapping the top of the actionbar
I'm not sure this is my fault, but filing b/6961067 funkiness when deleting top item in list view to check into it
Change-Id: Id1e392744c58d806d633ee4d84abfadf9846e4a8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
c79aec78d06928b3fa1464d6aed60019f9b4843b 08-Aug-2012 Mindy Pereira <mindyp@google.com> Ah hah!

So the issue seems to be related to a few different things:
1) we are trying to use views that come in from the selectedconversationlist
which may not be attached to the list view yet (or at least not this list view!)
when we go to try to use them
2) that means, they can't get us the corrected position

There is also an issue with swipe -> delete out
Need to move the swipe animation (to the left) into the AnimatedAdapter's control
and have the AniamtedAdapted manage which positions are swiping
There seems to be at least one case where we are getting an unexpected type
in the animatedadapter, so check for that!

What was happening was that the view we were getting back from ConvertView
was NEVER getting onDraw called
If the usre tapped it, they would see the right item really WAS there

turned off the slide animation when doing archives while I move it
into the animated adapter == no more dupes
Change-Id: I01c7939292ebede78c9bf83f00eaa440f65f4e01
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
dd9d3a16148b178cb95fd4db4168a67c64eb944f 07-Aug-2012 Mindy Pereira <mindyp@google.com> Destroy items after setting new selection

I feel like this is just covering up the issue with convcursor, but
it means that the right conversation is at least opened when tapping the next one.

Suggest taking this for tmrw's build for bazaar.

Change-Id: Ifab3da5dc843e4fa99e0e3c593ff8fbd328a6d8a
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
85c4a77abd849f5f3f0236d51554bb1bb99fe8f6 30-Jul-2012 Mindy Pereira <mindyp@google.com> Cache displayable folders.

Change-Id: Ibb2766e5a197a86adb0a456dc1fb58cdd98fd610
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
c3180e021cdf6aa13545682b7eda4f38a6baf51a 29-Jul-2012 Mindy Pereira <mindyp@google.com> The leavebehinditem is the view.

Fixes b/6893488 opened gmail,switched account and app crashed

Change-Id: Icfb30a99cd9cbe6e2e6084c73f95298a231bb291
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
6f0b2be9d3855e93ec2977b2736798c60adb9b7e 28-Jul-2012 Mindy Pereira <mindyp@google.com> Make animation durations resources.

Change-Id: I0cb6bf5c88c0084853e79b5dd18cf032f31232cd
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
ea33a383f6966b67ea63d95566c0834abd5ad117 27-Jul-2012 Mindy Pereira <mindyp@google.com> add comment to remember to remove this code

Change-Id: I3a1c4ca154fac3ec14dca65b520b69b02451fe94
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
b0219eb7b77212902a38821c050922ac73a68250 27-Jul-2012 Mindy Pereira <mindyp@google.com> Try to catch the NPE.

Part of b/6884047 Crash when archiving 2 conversations

Change-Id: I7f082977d96b1911c1764866763f50639ee0e2d3
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.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/SwipeableListView.java
709a174a40ec296c40368d723c2f51e3fc48ed50 26-Jul-2012 Mindy Pereira <mindyp@google.com> Remove the background when we no longer need it.

Keep a smaller hierarchy when possible.

Change-Id: I30af1025016104b82bc84339888cc8f510b42cfe
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
c1e93c71f2b2d689eda2c3309cf4c1c30118b2c2 24-Jul-2012 Mindy Pereira <mindyp@google.com> Fix build

Change-Id: I46b8a4941b13cfad9643633413604465d5b8502b
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
1ef988f0c8be136fda75ed207c222413db1d3f0c 24-Jul-2012 Mindy Pereira <mindyp@google.com> Add a black leave behind peeking out behind a swipeable item.

Change-Id: Ib5e90fee11899710e5ce9ca547003530ee56ca1e
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
0fb551891757ecddccb299d9df770bb1675e3fd2 24-Jul-2012 Mindy Pereira <mindyp@google.com> Dont bother animating if there is no adapter.

The list is probably hidden at the time,
Fixes b/6869707 Crash wile archiving messages from conversation list

Change-Id: I3ba0ffb0d96b37a38f66f103d9124d7b3991dfcc
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
09f1ae9a9f209436c0c6b44a6e76b32b27937a01 18-Jul-2012 Mindy Pereira <mindyp@google.com> If there is no adapter, don't bother trying to animate.

Fixes b/6834224 Email crash - NPE in SwipeableListView

Though I have no idea how the user managed to get this

Change-Id: Iab3f23d7d81b3bf1f62a77fc1adb440a9ab4a142
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.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/SwipeableListView.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/SwipeableListView.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/SwipeableListView.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/SwipeableListView.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/SwipeableListView.java
440fe79194314b25ef5829702494735ce2f1e2e8 11-May-2012 Vikram Aggarwal <viki@google.com> Safely create Collections.

Change-Id: I5fb740195b7aa9cd683485609ad50312b6840555
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
27131626d9a3192594d1f5e545e4bc4ceaa29951 24-Apr-2012 Marc Blank <mblank@google.com> Remove debug code

Change-Id: Ie464ce19ccbfea8cccdf837220ff152d4e4c9028
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.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/SwipeableListView.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/SwipeableListView.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/SwipeableListView.java
44830617b430ca4bced46a38711d2bd906498fc1 19-Apr-2012 Mindy Pereira <mindyp@google.com> Check for null before clearing selection set.

Fixes b/6347181 gmail crashed when pressed to archive

Change-Id: I2d85eeaf9b516b7830a90cca758b55c9d41a1d77
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
4cda97978c9f2c4b7e4a645268040223b8dbc83e 18-Apr-2012 Mindy Pereira <mindyp@google.com> Make sure we don't try to get the position for a null target.

If the user scrolled or this view was otherwise detached, the list would be null.
Fixes b/6354113 Gmail crashed - NPE in SwipeableListView

Change-Id: I9432af4196393ab5da5d8bc9dd918f6a20a194f2
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
6c72a787b58a0bc3afcb71093eddf8c29d1cf5ed 07-Apr-2012 Mindy Pereira <mindyp@google.com> Show leavebehind after swiping away an item.

Change-Id: I3bae79ed5bb8919985dbfa6e81416da980281cff
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
f913894d3f1fa80b7174477999074b813e1deb12 06-Apr-2012 Mindy Pereira <mindyp@google.com> Fix touch slop settings.

This will make touching stars and conversation and checkboxes EASIER.

Change-Id: I1d934b700ab05601083d0de81ac0f156a2d80e7d
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.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/SwipeableListView.java
cff4a2b2e92258c6c85ed4af15bc13101aa71170 05-Apr-2012 Mindy Pereira <mindyp@google.com> Improve swipe mechanics.

Make it harder to trigger a swipe by adding a min distance.
Change-Id: Id4dcd0dca0201e47ba95f319c494b134f87befeb
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
f07269fdfbc0ca2607dad50bfc15c2c041c1fadd 05-Apr-2012 Mindy Pereira <mindyp@google.com> When there is no swipe, use a different touch handler.

Fixes b/ 6291400 Multiple messages are selected by scrolling up and down in Inbox
Fixes b/6291013 java.lang.ClassCastException: com.android.mail.browse.ConversationListFooterView cannot be cast to com.android.mail.browse.ConversationItemView
Change-Id: I44e5a21326a620405cbdf769e736d37bbda5ceac
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
ff9aff3c28c4c20c7866ebfaaa642997e324f274 04-Apr-2012 Mindy Pereira <mindyp@google.com> If provider doesn't support archive, turn off swipe.

Change-Id: I9e6b956a967d633cf201be81927ed16918358c11
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
866d319dd23ec8b7b7d5476c65f7f83469d55d2d 26-Mar-2012 Mindy Pereira <mindyp@google.com> Re-enable swipe.

Swipes all checked items at once
Tap highlight
Properly colored background
Doesnt swipe non checked items when there are checked items
Change-Id: Id71e331d35f75ee02813dee8376d764386221868
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
489dd22c64c718b6953b4bd6acef925e82c53c87 29-Mar-2012 Andy Huang <ath@google.com> add more logging to help track down b/6255909

Track when ListView reads from the adapter count and compares it
to the its last known value.
Track sDeletedCount as it is changed.
Ensure cacheValue is called on a UI thread.

Change-Id: I52e0d8502d36aeb0737af95608a857ea177a06ad
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
19bf5f5a4944f5bb4e62e1f32c47dce87f662cbd 20-Mar-2012 Mindy Pereira <mindyp@google.com> Disable swipe for first droidfood build.

Change-Id: I53eaa31f6fff9a0abab4e94d8091d9dcd90a88b8
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
6529023dc8c204bfd83a3805158342d1a5e21f43 16-Mar-2012 Mindy Pereira <mindyp@google.com> Turn off the recycler for now.

Need to put in Adam's transitional object tags.

Change-Id: I8dffffc86768d7e0ab8017fd7ec72c8d920ee4df
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
175cd3d2943105f548ff5cf4f61277c1d5ecbb02 16-Mar-2012 Mindy Pereira <mindyp@google.com> Small tweak.

Change-Id: Ic857f5d9cc49f5a61639eab3be061fba68b6451f
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java
f6a6b50c6b45f36b9317e1688f8b87310a67b037 15-Mar-2012 Mindy Pereira <mindyp@google.com> Beginning of swipe to archive.

Create our own swipeable list.

Change-Id: I74d2ad0176dbc7411c1c884c9b8b7c24a770e819
/packages/apps/UnifiedEmail/src/com/android/mail/ui/SwipeableListView.java