am 6957a8d7: am 044db335: Merge "Making sure overview mode can\'t get stuck (issue 11022017)" into jb-ub-now-indigo-rose
* commit '6957a8d7112fd2f9d9df9cb51376b3fc67230d06': Making sure overview mode can't get stuck (issue 11022017)
This commit is contained in:
@@ -990,13 +990,14 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
|
|||||||
// in accordance with any scroll effects.
|
// in accordance with any scroll effects.
|
||||||
mForceScreenScrolled = true;
|
mForceScreenScrolled = true;
|
||||||
mRecomputePageSpacing = true;
|
mRecomputePageSpacing = true;
|
||||||
|
updateFreescrollBounds();
|
||||||
invalidate();
|
invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onChildViewRemoved(View parent, View child) {
|
public void onChildViewRemoved(View parent, View child) {
|
||||||
mForceScreenScrolled = true;
|
mForceScreenScrolled = true;
|
||||||
|
updateFreescrollBounds();
|
||||||
invalidate();
|
invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1558,6 +1559,17 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
|
|||||||
setEnableFreeScroll(false, snapPage);
|
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) {
|
private void setEnableFreeScroll(boolean freeScroll, int snapPage) {
|
||||||
mFreeScroll = freeScroll;
|
mFreeScroll = freeScroll;
|
||||||
|
|
||||||
@@ -1565,18 +1577,11 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
|
|||||||
snapPage = getPageNearestToCenterOfScreen();
|
snapPage = getPageNearestToCenterOfScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
getOverviewModePages(mTempVisiblePagesRange);
|
|
||||||
if (!mFreeScroll) {
|
if (!mFreeScroll) {
|
||||||
snapToPage(snapPage);
|
snapToPage(snapPage);
|
||||||
} else {
|
} else {
|
||||||
if (isLayoutRtl()) {
|
updateFreescrollBounds();
|
||||||
mFreeScrollMinScrollX = getScrollForPage(mTempVisiblePagesRange[1]);
|
getOverviewModePages(mTempVisiblePagesRange);
|
||||||
mFreeScrollMaxScrollX = getScrollForPage(mTempVisiblePagesRange[0]);
|
|
||||||
} else {
|
|
||||||
mFreeScrollMinScrollX = getScrollForPage(mTempVisiblePagesRange[0]);
|
|
||||||
mFreeScrollMaxScrollX = getScrollForPage(mTempVisiblePagesRange[1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getCurrentPage() < mTempVisiblePagesRange[0]) {
|
if (getCurrentPage() < mTempVisiblePagesRange[0]) {
|
||||||
setCurrentPage(mTempVisiblePagesRange[0]);
|
setCurrentPage(mTempVisiblePagesRange[0]);
|
||||||
} else if (getCurrentPage() > mTempVisiblePagesRange[1]) {
|
} else if (getCurrentPage() > mTempVisiblePagesRange[1]) {
|
||||||
|
|||||||
Reference in New Issue
Block a user