diff --git a/src/org/geometerplus/fbreader/fbreader/FBView.java b/src/org/geometerplus/fbreader/fbreader/FBView.java index fc9ad551f..a1ddf3102 100644 --- a/src/org/geometerplus/fbreader/fbreader/FBView.java +++ b/src/org/geometerplus/fbreader/fbreader/FBView.java @@ -175,17 +175,8 @@ public final class FBView extends ZLTextView { if (isFlickScrollingEnabled()) { final boolean horizontal = ScrollingPreferences.Instance().HorizontalOption.getValue(); - final int diff = horizontal ? x - myStartX : y - myStartY; final Direction direction = horizontal ? Direction.rightToLeft : Direction.up; - if (diff >= 0) { - if (canScrollBackward()) { - myReader.scrollViewManually(myStartX, myStartY, x, y, direction); - } - } else { - if (canScrollForward()) { - myReader.scrollViewManually(myStartX, myStartY, x, y, direction); - } - } + myReader.scrollViewManually(myStartX, myStartY, x, y, direction); } } return true; diff --git a/src/org/geometerplus/zlibrary/ui/android/view/ZLAndroidWidget.java b/src/org/geometerplus/zlibrary/ui/android/view/ZLAndroidWidget.java index 236b5f593..b0e1f634c 100644 --- a/src/org/geometerplus/zlibrary/ui/android/view/ZLAndroidWidget.java +++ b/src/org/geometerplus/zlibrary/ui/android/view/ZLAndroidWidget.java @@ -153,6 +153,18 @@ public class ZLAndroidWidget extends View implements View.OnLongClickListener { } public void scrollManually(int startX, int startY, int endX, int endY, ZLView.Direction direction) { + final ZLView view = ZLApplication.Instance().getCurrentView(); + final int diff = direction.IsHorizontal ? endX - startX : endY - startY; + if (diff >= 0) { + if (!view.canScrollBackward()) { + return; + } + } else { + if (!view.canScrollForward()) { + return; + } + } + final AnimationProvider animator = getAnimationProvider(); if (!animator.inProgress()) { animator.startManualScrolling(