diff --git a/app/src/main/kotlin/org/fossify/gallery/fragments/PhotoFragment.kt b/app/src/main/kotlin/org/fossify/gallery/fragments/PhotoFragment.kt index c97d56290..590f007ef 100644 --- a/app/src/main/kotlin/org/fossify/gallery/fragments/PhotoFragment.kt +++ b/app/src/main/kotlin/org/fossify/gallery/fragments/PhotoFragment.kt @@ -89,6 +89,8 @@ class PhotoFragment : ViewPagerFragment() { private var mScreenWidth = 0 private var mScreenHeight = 0 private var mCurrentGestureViewZoom = 1f + private var mIsTouched = false + private var mInitialZoom = 1f private var mStoredShowExtendedDetails = false private var mStoredHideExtendedDetails = false @@ -145,12 +147,16 @@ class PhotoFragment : ViewPagerFragment() { gesturesView.controller.addOnStateChangeListener(object : GestureController.OnStateChangeListener { override fun onStateChanged(state: State) { + if (!mIsTouched) { + mInitialZoom = state.zoom + } mCurrentGestureViewZoom = state.zoom } }) gesturesView.setOnTouchListener { v, event -> - if (mCurrentGestureViewZoom == 1f) { + mIsTouched = true + if (Math.abs(mCurrentGestureViewZoom - mInitialZoom) < MAX_ZOOM_EQUALITY_TOLERANCE) { handleEvent(event) } false diff --git a/app/src/main/kotlin/org/fossify/gallery/helpers/Constants.kt b/app/src/main/kotlin/org/fossify/gallery/helpers/Constants.kt index 70c03b259..ce16e644a 100644 --- a/app/src/main/kotlin/org/fossify/gallery/helpers/Constants.kt +++ b/app/src/main/kotlin/org/fossify/gallery/helpers/Constants.kt @@ -134,6 +134,7 @@ const val SHOW_TEMP_HIDDEN_DURATION = 300000L const val CLICK_MAX_DURATION = 150 const val CLICK_MAX_DISTANCE = 100 const val MAX_CLOSE_DOWN_GESTURE_DURATION = 300 +const val MAX_ZOOM_EQUALITY_TOLERANCE = 0.01 const val DRAG_THRESHOLD = 8 const val MONTH_MILLISECONDS = MONTH_SECONDS * 1000L const val MIN_SKIP_LENGTH = 2000