1
0
mirror of https://github.com/accelforce/Yuito synced 2024-12-22 05:19:05 +01:00
Yuito-app-android/app
Nik Clayton 79ee2dc32c
Fix image zoom / pan / scroll / swipe (#3894)
Migrate to touchimageview from photoview, and adjust the touch logic to correctly handle single finger drag, two finger pinch/stretch, flings, taps, and swipes.

As before, the features are:

- Single tap, show/hide controls and media description
- Double tap, zoom in/out
- Single finger drag up/down, scale/translate image, dismiss if scrolled too far
- Single finger drag left/right
  - When not zoomed, swipe to next image if multiple images present
- When zoomed, scroll to edge of image, then to next image if multiple images present
- Two finger pinch/zoom, zoom in/out on the image

Behaviour differences to previous code

1. Bug fix: The image can't get "stuck" when zoomed, and impossible to scroll
2. Bug fix: Pinching is not mis-interpreted as a fling, closing the image
3. Bug fix: The zoom state of images is not lost or misinterpreted when the user swipes through multiple images
4. Bug fix: Double-tap zooms all the way, instead of stopping
5. Tapping outside the image does not dismiss it, controls and description show/hide

Fixes https://github.com/tuskyapp/Tusky/issues/3562, https://github.com/tuskyapp/Tusky/issues/2297
2023-07-31 12:44:01 +02:00
..
schemas/com.keylesspalace.tusky.db.AppDatabase Cache locked state of connected accounts (#3790) 2023-07-27 00:09:26 +02:00
src Fix image zoom / pan / scroll / swipe (#3894) 2023-07-31 12:44:01 +02:00
build.gradle Fix image zoom / pan / scroll / swipe (#3894) 2023-07-31 12:44:01 +02:00
getGitSha.gradle
lint-baseline.xml Use lint version 8.1.0 to fix erroneous warning about forEach (#3903) 2023-07-30 21:45:43 +02:00
lint.xml Use lint version 8.1.0 to fix erroneous warning about forEach (#3903) 2023-07-30 21:45:43 +02:00
proguard-rules.pro Remove shrinker rules for okhttp (#3560) 2023-04-24 12:08:03 +02:00