[Dialer][Text Selection] Pressing a key in the dialer always adds the digit at the end of the current number instead of inserting it at the caret position

VERIFIED FIXED in Firefox OS v2.2

Status

Firefox OS
Gaia::Dialer
VERIFIED FIXED
4 years ago
3 years ago

People

(Reporter: salva, Assigned: salva)

Tracking

unspecified
2.2 S6 (20feb)
ARM
Gonk (Firefox OS)

Firefox Tracking Flags

(blocking-b2g:2.2+, b2g-v2.2 verified, b2g-master verified)

Details

Attachments

(2 attachments)

STR:
1. Launch dialer
2. Enter some digits
3. Tap in the middle of the digits to set the cursor there
4. Enter more digits

Expected:
New digits are entered after the cursor position

Actual:
New digits are added at the end of the current number

See bug 11121586
I'm adding this dependency since I need all the caret tracking implemented in bug 1121586.
Depends on: 1121586
triage: blocker as current experience really confuses user.
blocking-b2g: 2.2? → 2.2+

Updated

4 years ago
Status: NEW → ASSIGNED
Created attachment 8561323 [details] [review]
[PullReq] lodr:bug-1126538-insert-at-cursor to mozilla-b2g:master
Created attachment 8561324 [details] [review]
Adding methods for inserting at caret.

Gabriel, this is the counterpart for bug 1121586. Do you mind to review it?
Thank you!
Attachment #8561324 - Flags: review?(gsvelto)
Comment on attachment 8561324 [details] [review]
Adding methods for inserting at caret.

I'm r-'ing this for two reasons: the first one is that the patch removes the last use of moveCaretToEnd() but not the function itself, this should be fixed. The second problem showed up during testing: under some situations the caret either disappears or moves to the wrong place. I managed to get some consistent failures with these two scenarios:

1. Tap a few numbers, e.g. 1234.
2. Tap in the middle of them then quickly type something else.
3. Whatever has been tapped after tapping in the middle of the number should appear in the middle of it, yet sometimes it is appended instead.

Note that this happens with the delete key too, tap in the middle of the number, start deleting and then the caret moves to the end and starts deleting from the end instead of where it used to be.

I'd say that repro rate is 1/4 so you might want to give it a few tries; also it seems to happen mostly when the app has just started.
Attachment #8561324 - Flags: review?(gsvelto) → review-
The problem is 100% reproducible following next steps:

1. Type a number.
2. Tap in the middle of the number.
3. Tap a couple of numbers in such a way you don't release the first until the second one is pressed

Expected:
The cursor moves to the end of the number.

Actual:
The cursor remains in the middle of the number.
Comment on attachment 8561324 [details] [review]
Adding methods for inserting at caret.

I found this problem in a concept keyboard I made some years ago. The problem is when you want to support multitouch in a keyboard, you need to syntetically end the first touch before handling the second one. I hopy you like the solution, any feedback is welcome.
Attachment #8561324 - Flags: review- → review?(gsvelto)
Comment on attachment 8561324 [details] [review]
Adding methods for inserting at caret.

As discussed on IRC r+'ing this but only for the first patch. Let's drop the second part that addresses the problem that arises when tapping more than one key at the same time since there are multiple issues involved when doing multiple taps at the same time; see bug 1100230 for example.
Attachment #8561324 - Flags: review?(gsvelto) → review+
Waiting for treeherder to be green before merge.
master: 4cc37823802317731b25e0e4f36ebf691b97679e
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED

Updated

4 years ago
status-b2g-v2.2: --- → affected
status-b2g-master: --- → fixed
Target Milestone: --- → 2.2 S6 (20feb)
Comment on attachment 8561324 [details] [review]
Adding methods for inserting at caret.

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): bug 1092427
[User impact] if declined: misleading and annoying behaviour in the dialer input flow for adding digits.
[Testing completed]: yes
[Risk to taking this patch] (and alternatives if risky): low
[String changes made]: none
Attachment #8561324 - Flags: approval-gaia-v2.2?

Updated

4 years ago
Attachment #8561324 - Flags: feedback+

Updated

4 years ago
Attachment #8561324 - Flags: approval-gaia-v2.2? → approval-gaia-v2.2+
This issue is verified fixed on Flame 3.0 and 2.2. Numbers can now be added according to the position of the text select caret/waterdrop icon.

Device: Flame 3.0
BuildID: 20150406010204
Gaia: ef61ebbe5de8c2c9fc2a8f74a12455044c3b82e9
Gecko: 4fe763cbe196
Gonk: b83fc73de7b64594cd74b33e498bf08332b5d87b
Version: 40.0a1 (3.0) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0

Device: Flame 2.2
BuildID: 20150406002503
Gaia: a6351e1197d54f8624523c2db9ba1418f2aa046f
Gecko: c3335a5d3063
Gonk: ebad7da532429a6f5efadc00bf6ad8a41288a429
Version: 37.0 (2.2) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage?]
status-b2g-v2.2: fixed → verified
status-b2g-master: fixed → verified
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.