Fix bug where overscroll never fully snapped back

Bug: 6085652
Bug: 6065523

Change-Id: Iaac5705e00e08882beba0cad7ee0d339de31444a
This commit is contained in:
Michael Jurka
2012-04-02 06:26:53 -07:00
parent e49eafc229
commit b06d95fc79
2 changed files with 24 additions and 12 deletions
+6 -2
View File
@@ -396,7 +396,9 @@ public abstract class PagedView extends ViewGroup {
protected boolean computeScrollHelper() {
if (mScroller.computeScrollOffset()) {
// Don't bother scrolling if the page does not need to be moved
if (mScrollX != mScroller.getCurrX() || mScrollY != mScroller.getCurrY()) {
if (mScrollX != mScroller.getCurrX()
|| mScrollY != mScroller.getCurrY()
|| mOverScrollX != mScroller.getCurrX()) {
scrollTo(mScroller.getCurrX(), mScroller.getCurrY());
}
invalidate();
@@ -755,9 +757,11 @@ public abstract class PagedView extends ViewGroup {
int screenCenter = mOverScrollX + halfScreenSize;
if (screenCenter != mLastScreenCenter || mForceScreenScrolled) {
// set mForceScreenScrolled before calling screenScrolled so that screenScrolled can
// set it for the next frame
mForceScreenScrolled = false;
screenScrolled(screenCenter);
mLastScreenCenter = screenCenter;
mForceScreenScrolled = false;
}
// Find out which screens are visible; as an optimization we only call draw on them