From 85e8838980d83a5f590d861bea92cc3c81f8907b Mon Sep 17 00:00:00 2001 From: RaJansuMan Date: Mon, 3 Mar 2025 20:30:47 +0530 Subject: [PATCH] Double tap zoom --- .../org/fossify/gallery/fragments/PhotoFragment.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) 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..a60f8b805 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,7 @@ class PhotoFragment : ViewPagerFragment() { private var mScreenWidth = 0 private var mScreenHeight = 0 private var mCurrentGestureViewZoom = 1f + private var mIsTouched = false private var mStoredShowExtendedDetails = false private var mStoredHideExtendedDetails = false @@ -145,11 +146,20 @@ class PhotoFragment : ViewPagerFragment() { gesturesView.controller.addOnStateChangeListener(object : GestureController.OnStateChangeListener { override fun onStateChanged(state: State) { + if (!mIsTouched) { + gesturesView.controller.settings.apply { + if (hasImageSize() && hasViewportSize()) { + doubleTapZoom = (viewportWidth.toFloat() / imageWidth).coerceAtLeast(viewportHeight.toFloat() / imageHeight) + } + } + + } mCurrentGestureViewZoom = state.zoom } }) gesturesView.setOnTouchListener { v, event -> + mIsTouched = true if (mCurrentGestureViewZoom == 1f) { handleEvent(event) }