summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2013-10-01 18:02:13 -0700
committerAdam Cohen <adamcohen@google.com>2013-10-01 18:05:53 -0700
commit7a9e58aa17d42c1251b4eea5edf117a4e8b4a6d4 (patch)
tree3eb5db6cf3cc51af8606e3f8fccc69830de02aa7 /src
parentedaaa3023251eb2bd71e3da180df39334f77d4a8 (diff)
downloadandroid_packages_apps_Trebuchet-7a9e58aa17d42c1251b4eea5edf117a4e8b4a6d4.tar.gz
android_packages_apps_Trebuchet-7a9e58aa17d42c1251b4eea5edf117a4e8b4a6d4.tar.bz2
android_packages_apps_Trebuchet-7a9e58aa17d42c1251b4eea5edf117a4e8b4a6d4.zip
Making sure overview mode can't get stuck (issue 11022017)
Change-Id: Iee2088f8781d375b0b83625023fb125a869a2868
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/PagedView.java25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 0a15ecd62..6d7501865 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -990,13 +990,14 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
// in accordance with any scroll effects.
mForceScreenScrolled = true;
mRecomputePageSpacing = true;
-
+ updateFreescrollBounds();
invalidate();
}
@Override
public void onChildViewRemoved(View parent, View child) {
mForceScreenScrolled = true;
+ updateFreescrollBounds();
invalidate();
}
@@ -1558,6 +1559,17 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
setEnableFreeScroll(false, snapPage);
}
+ void updateFreescrollBounds() {
+ getOverviewModePages(mTempVisiblePagesRange);
+ if (isLayoutRtl()) {
+ mFreeScrollMinScrollX = getScrollForPage(mTempVisiblePagesRange[1]);
+ mFreeScrollMaxScrollX = getScrollForPage(mTempVisiblePagesRange[0]);
+ } else {
+ mFreeScrollMinScrollX = getScrollForPage(mTempVisiblePagesRange[0]);
+ mFreeScrollMaxScrollX = getScrollForPage(mTempVisiblePagesRange[1]);
+ }
+ }
+
private void setEnableFreeScroll(boolean freeScroll, int snapPage) {
mFreeScroll = freeScroll;
@@ -1565,18 +1577,11 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
snapPage = getPageNearestToCenterOfScreen();
}
- getOverviewModePages(mTempVisiblePagesRange);
if (!mFreeScroll) {
snapToPage(snapPage);
} else {
- if (isLayoutRtl()) {
- mFreeScrollMinScrollX = getScrollForPage(mTempVisiblePagesRange[1]);
- mFreeScrollMaxScrollX = getScrollForPage(mTempVisiblePagesRange[0]);
- } else {
- mFreeScrollMinScrollX = getScrollForPage(mTempVisiblePagesRange[0]);
- mFreeScrollMaxScrollX = getScrollForPage(mTempVisiblePagesRange[1]);
- }
-
+ updateFreescrollBounds();
+ getOverviewModePages(mTempVisiblePagesRange);
if (getCurrentPage() < mTempVisiblePagesRange[0]) {
setCurrentPage(mTempVisiblePagesRange[0]);
} else if (getCurrentPage() > mTempVisiblePagesRange[1]) {