Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47730f15 authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android Git Automerger
Browse files

am 33a3b2ce: am 48b428fb: Merge "NumberPicker getting stuck if scroll wheel...

am 33a3b2ce: am 48b428fb: Merge "NumberPicker getting stuck if scroll wheel not wrapable." into ics-mr1

* commit '33a3b2ce':
  NumberPicker getting stuck if scroll wheel not wrapable.
parents ecd7798c 33a3b2ce
Loading
Loading
Loading
Loading
+4 −15
Original line number Original line Diff line number Diff line
@@ -774,6 +774,7 @@ public class NumberPicker extends LinearLayout {
                mBeginEditOnUpEvent = false;
                mBeginEditOnUpEvent = false;
                mAdjustScrollerOnUpEvent = true;
                mAdjustScrollerOnUpEvent = true;
                if (mSelectorWheelState == SELECTOR_WHEEL_STATE_LARGE) {
                if (mSelectorWheelState == SELECTOR_WHEEL_STATE_LARGE) {
                    mSelectorWheelPaint.setAlpha(SELECTOR_WHEEL_BRIGHT_ALPHA);
                    boolean scrollersFinished = mFlingScroller.isFinished()
                    boolean scrollersFinished = mFlingScroller.isFinished()
                            && mAdjustScroller.isFinished();
                            && mAdjustScroller.isFinished();
                    if (!scrollersFinished) {
                    if (!scrollersFinished) {
@@ -1608,23 +1609,11 @@ public class NumberPicker extends LinearLayout {
     */
     */
    private void fling(int velocityY) {
    private void fling(int velocityY) {
        mPreviousScrollerY = 0;
        mPreviousScrollerY = 0;
        Scroller flingScroller = mFlingScroller;


        if (mWrapSelectorWheel) {
        if (velocityY > 0) {
        if (velocityY > 0) {
                flingScroller.fling(0, 0, 0, velocityY, 0, 0, 0, Integer.MAX_VALUE);
            mFlingScroller.fling(0, 0, 0, velocityY, 0, 0, 0, Integer.MAX_VALUE);
            } else {
                flingScroller.fling(0, Integer.MAX_VALUE, 0, velocityY, 0, 0, 0, Integer.MAX_VALUE);
            }
        } else {
        } else {
            if (velocityY > 0) {
            mFlingScroller.fling(0, Integer.MAX_VALUE, 0, velocityY, 0, 0, 0, Integer.MAX_VALUE);
                int maxY = mTextSize * (mValue - mMinValue);
                flingScroller.fling(0, 0, 0, velocityY, 0, 0, 0, maxY);
            } else {
                int startY = mTextSize * (mMaxValue - mValue);
                int maxY = startY;
                flingScroller.fling(0, startY, 0, velocityY, 0, 0, 0, maxY);
            }
        }
        }


        invalidate();
        invalidate();