mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 02:38:20 +00:00
Let spring take over the overscroll amount when swiping to first/last page.
Bug: 153747836 Change-Id: I8a883f648587b0cb4008df3b8176c9341162b8d1
This commit is contained in:
@@ -1069,16 +1069,28 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the amount of overscroll caused by the spring in {@link OverScroller}.
|
||||
*/
|
||||
private int getSpringOverScroll(int amount) {
|
||||
if (mScroller.isSpringing()) {
|
||||
return amount < 0
|
||||
? mScroller.getCurrPos()
|
||||
: Math.max(0, mScroller.getCurrPos() - mMaxScroll);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
protected void dampedOverScroll(int amount) {
|
||||
mSpringOverScroll = amount;
|
||||
if (amount == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
int size = mOrientationHandler.getMeasuredSize(this);
|
||||
int overScrollAmount = OverScroll.dampedScroll(amount, size);
|
||||
mSpringOverScroll = overScrollAmount;
|
||||
if (mScroller.isSpringing()) {
|
||||
mSpringOverScroll = getSpringOverScroll(amount);
|
||||
invalidate();
|
||||
return;
|
||||
}
|
||||
@@ -1090,8 +1102,8 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
|
||||
}
|
||||
|
||||
protected void overScroll(int amount) {
|
||||
mSpringOverScroll = amount;
|
||||
if (mScroller.isSpringing()) {
|
||||
mSpringOverScroll = getSpringOverScroll(amount);
|
||||
invalidate();
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user