From a9cd3609dde2125e3c072c8e8f1f5aedfa0cb74f Mon Sep 17 00:00:00 2001 From: PyKen Date: Tue, 1 Aug 2023 03:18:40 +0900 Subject: [PATCH] fix(mobile): Improve vertical swipe detection in gallery viewer (#3486) * Improve vertical swipe detection in gallery viewer * Use final --- mobile/lib/modules/asset_viewer/views/gallery_viewer.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mobile/lib/modules/asset_viewer/views/gallery_viewer.dart b/mobile/lib/modules/asset_viewer/views/gallery_viewer.dart index 8a8e17d684..4d36bf77f4 100644 --- a/mobile/lib/modules/asset_viewer/views/gallery_viewer.dart +++ b/mobile/lib/modules/asset_viewer/views/gallery_viewer.dart @@ -239,6 +239,7 @@ class GalleryViewerPage extends HookConsumerWidget { void handleSwipeUpDown(DragUpdateDetails details) { int sensitivity = 15; int dxThreshold = 50; + double ratioThreshold = 3.0; if (isZoomed.value) { return; @@ -256,9 +257,10 @@ class GalleryViewerPage extends HookConsumerWidget { return; } - if (details.delta.dy > sensitivity) { + final ratio = d.dy / max(d.dx.abs(), 1); + if (d.dy > sensitivity && ratio > ratioThreshold) { AutoRouter.of(context).pop(); - } else if (details.delta.dy < -sensitivity) { + } else if (d.dy < -sensitivity && ratio < -ratioThreshold) { showInfo(); } }