public boolean onGenericMotionEvent(MotionEvent var1) { if ((MotionEventCompat.getSource(var1) & 2) != 0) { switch (var1.getAction()) { case 8: if (!this.mIsBeingDragged) { float var2 = MotionEventCompat.getAxisValue(var1, 9); if (var2 != 0.0F) { int var3 = (int) (this.getVerticalScrollFactorCompat() * var2); int var4 = this.getScrollRange(); int var6 = this.getScrollY(); int var5 = var6 - var3; if (var5 < 0) { var3 = 0; } else { var3 = var5; if (var5 > var4) { var3 = var4; } } if (var3 != var6) { super.scrollTo(this.getScrollX(), var3); return true; } } } } } return false; }