diff options
author | Adam Cohen <adamcohen@google.com> | 2013-09-29 17:46:49 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2013-09-29 18:13:25 -0700 |
commit | 2bf63d520576baa433a53a77e4e24386e40c1cda (patch) | |
tree | 0eb26c6a7cc21ad0e82d77a41d15b253c082b303 /src/com/android/launcher3/PagedView.java | |
parent | 4ef75f523c5b2bfed37bf1ed4bd2bcf8bda8b502 (diff) | |
download | android_packages_apps_Trebuchet-2bf63d520576baa433a53a77e4e24386e40c1cda.tar.gz android_packages_apps_Trebuchet-2bf63d520576baa433a53a77e4e24386e40c1cda.tar.bz2 android_packages_apps_Trebuchet-2bf63d520576baa433a53a77e4e24386e40c1cda.zip |
Fixing issue where you couldn't drag an item multiple pages (issue 10754544)
-> This was caused by a strange race condition. The page snap time was equal to
the delay to recheck whether to snap (in DragController). This meant that
scrollRight()/Left() would get called, and the scroller would be finished
however, the final computeScrollHelper() hadn't been called, so the mCurrentPage
hadn't yet been incremented.
-> Fixed the underlying race condition.
-> Added suitable gap (150 ms) between the two delays.
Change-Id: If700eb9e14d77a174e4395ca6933119bdb0da768
Diffstat (limited to 'src/com/android/launcher3/PagedView.java')
-rw-r--r-- | src/com/android/launcher3/PagedView.java | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index 8cdd8e2cc..9cfb3d911 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -2153,19 +2153,11 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc } public void scrollLeft() { - if (mScroller.isFinished()) { - if (mCurrentPage > 0) snapToPage(mCurrentPage - 1); - } else { - if (mNextPage > 0) snapToPage(mNextPage - 1); - } + if (getNextPage() > 0) snapToPage(getNextPage() - 1); } public void scrollRight() { - if (mScroller.isFinished()) { - if (mCurrentPage < getChildCount() -1) snapToPage(mCurrentPage + 1); - } else { - if (mNextPage < getChildCount() -1) snapToPage(mNextPage + 1); - } + if (getNextPage() < getChildCount() -1) snapToPage(getNextPage() + 1); } public int getPageForView(View v) { |