Closed
Bug 889757
Opened 11 years ago
Closed 11 years ago
[Dialer] When holding a call and selecting keypad, cannot hide keypad and input number
Categories
(Firefox OS Graveyard :: Gaia::Dialer, defect, P1)
Tracking
(blocking-b2g:leo+, b2g18 fixed, b2g-v1.1hd fixed)
People
(Reporter: leo.bugzilla.gaia, Assigned: gduan)
References
Details
(Whiteboard: [TD-56670], [u=commsapps-user c=dialer p=0] , [LeoVB+])
Attachments
(3 files)
1. Title : When holding a call and selecting keypad, cannot hide keypad and input number
2. Precondition : In call
3. Tester's Action : Hold a call >> Select keypad
4. Detailed Symptom : Cannot hide keypad and input number
5. Expected : Can hide keypad and input number
6. Reproducibility: Y
1) Frequency Rate : 100%
7. Gaia Master/v1-train : Reproduce
8. Gaia Revision : f2d6ed54a236e6e3b94f0abad9f0dacb8a1cc7b3
9. Personal email id : promise09th@gmail.com
blocking-b2g: leo? → leo+
Priority: -- → P1
Whiteboard: [TD-56670]
Target Milestone: --- → 1.1 QE4 (15jul)
Assignee | ||
Comment 2•11 years ago
|
||
I am wondering what is expected behavior of keyboard function after user on-hold a call.
When on holding, iPhone will disable keyboard function but android enable.
Flags: needinfo?(padamczyk)
Comment 3•11 years ago
|
||
Yes, this is definitely a bug. I believe we should dismiss the keyboard.
Flags: needinfo?(padamczyk) → needinfo?(nhsieh)
Updated•11 years ago
|
Whiteboard: [TD-56670] → [TD-56670], [u=commsapps-user c=dialer p=0]
Assignee | ||
Comment 4•11 years ago
|
||
This patch will disable keypad button while user on-hold a call, just like iPhone .
Is this way acceptable?
Attachment #771770 -
Flags: review?
Flags: needinfo?(promise09th)
Flags: needinfo?(nhsieh)
Flags: needinfo?(etienne)
Assignee | ||
Comment 5•11 years ago
|
||
Sorry, accidentally remove 'need info from nhsigh'.
Flags: needinfo?(nhsieh)
Comment 6•11 years ago
|
||
Can we just enable keypad button during call session?
For DTMF part, there should be no function if call is on-hold by following 3GPP spec for sure.
however, there are some call related supplementary services might need keypad even there is hold call alive according to 3GPP 22.030.
For Android user, user can input mmi code in keypad then just simply click on accumulator to complete call related supplementary services.
Ex:
there is an active call alive.
user input "1", then click on accumulator, that active call(s) will be released.
// 22.030, Section 6.5.5.1
Call Deflection, Call Waiting, Call Hold, MultiParty Services, Explicit Call
Entering 0 followed by SEND - Releases all held calls or sets User Determined User Busy (UDUB) for a waiting call.
Entering 1 followed by SEND - Releases all active calls (if any exist) and accepts the other (held or waiting) call.
Entering 1X followed by SEND - Releases a specific active call X.
Entering 2 followed by SEND - Places all active calls (if any exist) on hold and accepts the other (held or waiting) call.
Entering 2X followed by SEND - Places all active calls on hold except call X with which communication shall be supported.
Entering 3 followed by SEND - Adds a held call to the conversation.
Entering 4 followed by SEND - Connects the two calls and disconnects the subscriber from both calls (ECT).
Entering 4 * "Directory Number" - Redirect an incoming or a waiting call to the specified followed by SEND directory number.
Entering 5 followed by SEND - Activates the Completion of Calls to Busy Subscriber Request.
Entering "Directory Number" - Places all active calls (if any exist) on hold and sets up a followed by SEND new call to the specified Directory Number.
Entering END - Releases the subscriber from all calls (except a possible waiting
call).
"X" is the numbering (starting with 1) of the call given by the sequence of setting up or receiving the calls (active, held or waiting) as seen by the served subscriber. Calls hold their number until they are released. New calls take the lowest available number.
Assignee | ||
Comment 7•11 years ago
|
||
In reply to comment 6,
Thanks for your information.
I found the problem why we keyboard is disabled is due to telephony.active is null when in on-hold state. I am not sure if it's expected, so I give the default value of activeCall to avoid error . This patch should work fine .
Please advise if any suggestion.
Attachment #771836 -
Flags: review?
Comment 8•11 years ago
|
||
Comment on attachment 771836 [details]
https://github.com/mozilla-b2g/gaia/pull/10820
telephony.active is supposed to be null if we have only 1 call and it's on hold, and OnCallHandler.activeCall should reflect that.
Let's look at the other solutions.
Attachment #771836 -
Flags: review? → review-
Comment 9•11 years ago
|
||
Comment on attachment 771770 [details]
https://github.com/mozilla-b2g/gaia/pull/10816
Have you tested this with multiple calls?
Attachment #771770 -
Flags: review?
Comment 10•11 years ago
|
||
The simplest fix would be to properly handle the case where activeCall is null in CallScreen.hideKeypad() (and just remove the class showKeypad without trying to restore the additional infos).
The other solution would be based on your first patch with added safety.
* every time a handledCall is held or resumed it would call an |updateKeypadEnabled()| method on OnCallHandler
* in this |updateKeypadEnabled| method we would check if there is an active call and enable or disable the keypad button accordingly.
What do you think?
Flags: needinfo?(etienne)
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → gduan
Assignee | ||
Comment 11•11 years ago
|
||
Hi Etienne,
Thanks for your advices. Both solutions are great.
I guess these two methods still not allow user to see the number they type during on-hold? I thought 'Leo' may still want to see, so I made a second patch, try to keep the original function.
But my second patch has some fault, and I will fix it, but I refer to below doc,
https://wiki.mozilla.org/WebAPI/WebTelephony
There should be only one call at most on hold, so I think if the telephony.active is null, we should return a call with 'held' state. what do you think?
Updated•11 years ago
|
Flags: in-moztrap?
Assignee | ||
Updated•11 years ago
|
Attachment #771836 -
Flags: review- → review?(etienne)
Comment 12•11 years ago
|
||
(In reply to George Duan [:gduan] from comment #11)
> Hi Etienne,
>
> Thanks for your advices. Both solutions are great.
> I guess these two methods still not allow user to see the number they type
> during on-hold? I thought 'Leo' may still want to see, so I made a second
> patch, try to keep the original function.
Actually, the function of the call screen keyboard is to send DTMF tones, and DTMF tones are only sent on an active call.
So showing the typed numbers would be misleading since we're not sending them over the wire.
Comment 13•11 years ago
|
||
Comment on attachment 771836 [details]
https://github.com/mozilla-b2g/gaia/pull/10820
I think we're back to choosing a solution from Comment 10 :)
Attachment #771836 -
Flags: review?(etienne)
Comment 14•11 years ago
|
||
Please email us if there's reason to believe this won't the 7/15 deadline.
Assignee | ||
Comment 15•11 years ago
|
||
Comment on attachment 771770 [details]
https://github.com/mozilla-b2g/gaia/pull/10816
Based on comment 10 suggestion, please kindly help to review.
Attachment #771770 -
Flags: review?(etienne)
Updated•11 years ago
|
Flags: in-moztrap? → in-moztrap?(cschmoeckel)
Comment 16•11 years ago
|
||
Comment on attachment 771770 [details]
https://github.com/mozilla-b2g/gaia/pull/10816
Cool!
r=me with the nits about the unit tests addressed.
Thanks!
Attachment #771770 -
Flags: review?(etienne) → review+
Assignee | ||
Comment 17•11 years ago
|
||
Thanks , test case updated!
Merged into master.
master: https://github.com/mozilla-b2g/gaia/commit/a5d187e777e5692fc60be83bbf592637abbc8bc7
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment 18•11 years ago
|
||
Uplifted a5d187e777e5692fc60be83bbf592637abbc8bc7 to:
v1-train: d231f34578e443c572fb3e9660a5dca90f672059
status-b2g18:
--- → fixed
Whiteboard: [TD-56670], [u=commsapps-user c=dialer p=0] → [TD-56670], [u=commsapps-user c=dialer p=0] , [LeoVB+]
Comment 20•11 years ago
|
||
v1.1.0hd: d231f34578e443c572fb3e9660a5dca90f672059
status-b2g-v1.1hd:
--- → fixed
Updated•11 years ago
|
Flags: needinfo?(promise09th)
Comment 21•11 years ago
|
||
Created a test case that covers interacting with the keypad while a call is on hold.
https://moztrap.mozilla.org/manage/cases/?filter-id=9250
Flags: in-moztrap?(dwatson) → in-moztrap+
Updated•11 years ago
|
Flags: needinfo?(nhsieh)
You need to log in
before you can comment on or make changes to this bug.
Description
•