diff options
author | Vikram Aggarwal <viki@google.com> | 2013-07-02 15:47:43 -0700 |
---|---|---|
committer | Vikram Aggarwal <viki@google.com> | 2013-07-02 15:47:43 -0700 |
commit | 11324ad037cb9a2735c23295972934b106da2980 (patch) | |
tree | 91ad936724fe2e4c5a1951421ed6cda6ab16b43e | |
parent | 73ba376ad9cc7c5afe3ae90666d4166160be1d85 (diff) | |
download | android_packages_apps_UnifiedEmail-11324ad037cb9a2735c23295972934b106da2980.tar.gz android_packages_apps_UnifiedEmail-11324ad037cb9a2735c23295972934b106da2980.tar.bz2 android_packages_apps_UnifiedEmail-11324ad037cb9a2735c23295972934b106da2980.zip |
Highlight the correct conversation in the presence of nested folders
Nested folders go right on top, and fleeting views specify position.
This change corrects the cursor position -> list position
calculation and simplifies it.
Bug: 9680612 Nested folders highlight incorrect conversation
Change-Id: I119af8efac16375445d5ba90cd62cedbfbe845c9
-rw-r--r-- | src/com/android/mail/ui/AnimatedAdapter.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/com/android/mail/ui/AnimatedAdapter.java b/src/com/android/mail/ui/AnimatedAdapter.java index 9a4a8c10a..50d2b4b8d 100644 --- a/src/com/android/mail/ui/AnimatedAdapter.java +++ b/src/com/android/mail/ui/AnimatedAdapter.java @@ -1020,16 +1020,17 @@ public class AnimatedAdapter extends SimpleCursorAdapter { * that may be above it. */ public int getPositionOffset(final int position) { - int offset = 0; + // Folder views show at the very top. + int viewsAbove = mFolderViews.size(); - for (int i = 0, size = mSpecialViews.size(); i < size; i++) { - final int key = mSpecialViews.keyAt(i); - if (key <= position) { - offset++; + // Now find out how many fleeting views are above the current one. + for (final ConversationSpecialItemView view : mFleetingViews) { + if (view.getPosition() <= position) { + viewsAbove++; } } - return offset; + return viewsAbove; } public void cleanup() { |