Closed Bug 1063138 Opened 6 years ago Closed 6 years ago
[APZC] first tap after pinch-to-zoom is ignored
If I pinch to zoom in or out of the camera viewfinder then the next tap on the viewfinder is ignored. If I want to take a picture I've got to tap twice. If I want to set the focus region I've got to tap twice. Same for flash mode, camera selector, menu button, and preview button. The only thing that works with one tap after a pinch gesture is the photo/video toggle slider thing (and I assume that is a big clue about what is going on.) Taps following pinch-to-zoom gestures still work correctly in Gallery, so I don't think this is caused by any kind of system-wide changes to how touch events are delivered.
Justin: I'm guessing that this is one you'll want to take. Note that this is only for pinch gestures. If I do a pinch to start zooming, then stop the pinch and use one finger to drag the zoom slider, the next tap will work correctly.
Setting qawanted to find out if this bug affects other releases or if it is a more recent regression.
Hi David, Could you tell me on which device, version and build you found this bug?
Yeojin, Sorry. This is on a Flame with today's nightly build. I've got it configured for 319mb I think, though I don't think that matters.
This issue reproduces on the latest Flame 2.2, 2.1, and Open C 2.2: Flame 2.2 Environmental Variables: Device: Flame Master (512mb) BuildID: 20140905090738 Gaia: 0de5fcdc11a15abdf8d64f28bed2abb30041ea4d Gecko: 0d962e459db5 Version: 35.0a1 (Master) Firmware Version: v123 User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0 Flame 2.1 Environmental Variables: Device: Flame 2.1 (512mb) BuildID: 20140905134639 Gaia: abec74ccc792617e0d2fa5fa9490810555327003 Gecko: e74b772d7ac9 Version: 34.0a2 Firmware Version: v123 User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0 Open C 2.2 Environmental Variables: Device: Open_C Master BuildID: 20140905090738 Gaia: 0de5fcdc11a15abdf8d64f28bed2abb30041ea4d Gecko: 0d962e459db5 Version: 35.0a1 (Master) Firmware Version: P821A10V1.0.0B06_LOG_DL User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0 The device does not respond to the first tap after pinch-to-zoom. ----------------------------------- This issue does NOT reproduce on Flame 2.0, Flame 1.4: Flame 2.0 Environmental Variables: Device: Flame 2.0 (512mb) BuildID: 20140905072212 Gaia: b8215807edfa25590c34625420741e7194d1d55e Gecko: d03521aa4347 Version: 32.0 (2.0) Firmware Version: v123 User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0 Flame 1.4 Environmental Variables: Device: Flame 1.4 (512mb) Build ID: 20140905100238 Gaia: 2ee5b00bfbb8a67a967094804390b4afce8ecf54 Gecko: a3e8df746cd8 Version: 30.0 (1.4) Firmware Version: v123 User Agent: Mozilla/5.0 (Mobile; rv:30.0) Gecko/30.0 Firefox/30.0 The device properly responds to the first tap after pinch-to-zoom.
triage - not nomming
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Assignee: nobody → jdarcangelo
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][lead-review+]
Severity: normal → minor
Target Milestone: 2.1 S4 (12sep) → 2.1 S5 (26sep)
Assignee: jdarcangelo → nobody
Component: Gaia::Camera → Panning and Zooming
Product: Firefox OS → Core
Summary: [camera] first tap after pinch-to-zoom is ignored → [APZC] first tap after pinch-to-zoom is ignored
I've just verified that this is not specific to Camera's pinch-to-zoom. In fact, you can be in an app that doesn't have any sort of pinch-to-zoom behavior (e.g. Clock) and reproduce this. STR: 1. Open Clock app 2. Perform a 'pinch-to-zoom' gesture anywhere on the screen (as if you were trying to zoom-in and out) 3. Attempt to tap on the tabs at the bottom to switch between them The first "tap" on the tabs following the gesture will almost always be ignored.
Can repro, thanks for the STR! I'm investigating...
Assignee: nobody → bugmail.mozilla
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → All
The problem seems to be that in the period between the second finger going down, and the move distance being large enough to activate the pinch, the GEL returns nsEventStatus_eIgnore for the move events, so they get processed as moves in the TOUCHING state in the APZC instead. This creates a velocity in the APZC which then disallows the following tap. Patch coming in a sec.
I think this is the incorrect bit; the APZC shouldn't be having to deal with move events once two fingers are down. If the user hasn't yet moved enough to activate a pinch, the events should just be ignored.
Attachment #8499647 - Flags: review?(botond)
Ran into these while building gtests for the above patch.
Attachment #8499670 - Flags: review?(botond)
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Comment on attachment 8499647 [details] [diff] [review] Patch Approval Request Comment [Feature/regressing bug #]: unsure [User impact if declined]: in some cases the first click after doing a pinch-zoom action is ignored [Describe test coverage new/current, TBPL]: local testing [Risks and why]: low-risk; code is well understood and well contained. Affects B2G and metro only [String/UUID change made/needed]: none
Attachment #8499647 - Flags: approval-mozilla-aurora?
Attachment #8499647 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.