Closed Bug 1032273 Opened 10 years ago Closed 8 years ago

[v2.1] Bug: Tapping "Call" launches Phone but does not dial

Categories

(Firefox OS Graveyard :: Gaia::SMS, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: Mozilla_BEC, Assigned: ythej)

References

Details

(Whiteboard: [sms-most-wanted])

User Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:24.0) Gecko/20140610 Firefox/24.0 PaleMoon/24.6.2 (Nightly/Aurora) Build ID: 20140610142618 Steps to reproduce: Tapped Message thread header (where contact's name is) Contact info screen popped up with two options: Call, view contact Actual results: Tapping call launches Phone with number input, but does not dial Expected results: Phone should auto-dial when launched from Call menu item in Messages, as that is exactly what I want/expect it to do. Having to press another button seems unnecessary at this step.
This is expected with the current spec, but Etienne will confirm and possibly ask UX. I sincerely doubt we'll change this, remember activities can be started by any content, and we don't want that anybody starts a call, right ? :)
Component: Gaia::SMS → Gaia::Dialer
Flags: needinfo?(etienne)
I suppose that makes sense, but in that case, you should implement a whitelist. Allow only Privileged apps/services to directly invoke the Dialer and have it dial without user intervention. Force all other apps/services to have to make the user confirm by pressing dial. It really feels unnecessary as a user to have to confirm TWICE to make the call, despite good design intentions.
(In reply to Julien Wajsberg [:julienw] (PTO Monday 14th July) from comment #1) > This is expected with the current spec, but Etienne will confirm and > possibly ask UX. > > I sincerely doubt we'll change this, remember activities can be started by > any content, and we don't want that anybody starts a call, right ? :) Yes. Same for the "tel:" links: we fill the phone number but the user still has to press the call button. There was some talk to get a certified-only secure-dial activity actually making the call, but I think it was dropped because an app can still call telephony.dial() and we'll show the callscreen accordingly.
Flags: needinfo?(etienne)
Etienne, do you think your team would ever revisit allowing certified only to actually make the call? I just can't get over how unnecessary it feels to have to keep tapping to make a call. The expectation is that the call is placed, and meeting user expectations is something important, especially when you want to convert people from other platforms where this expectation is met. Again, I see why you've restricted it for non-certified apps and I agree, but for certified apps it really, really should "just work".
The Dialer doesn't know where the activity is coming from, so no way to know if the app requesting to dial is certified or not. The sms app could call |navigator.mozTelephony.dial()|, the API is pretty stable now and a minimum of error handling should be enough.
Let's see what UX thinks then :)
Flags: needinfo?(jelee)
I would prefer to call directly. And actually, on p.6 attachment 8450049 [details], I planned to move the call function to header to give user a quicker access.
Flags: needinfo?(jelee)
Component: Gaia::Dialer → Gaia::SMS
Whiteboard: [sms-most-wanted]
Status: UNCONFIRMED → NEW
Ever confirmed: true
See Also: → 1060451
We want to share our error handling between Dialer and Emergency call in bug 1060451. So maybe the error handling will be even easier.
Hey Jenny, what should we do if there is an error when we dial? Currently, error conditions are handled in the Dialer. We can reuse Dialer's error handling and do the same behavior, is that what you expect?
Flags: needinfo?(jelee)
(In reply to Julien Wajsberg [:julienw] from comment #10) > Hey Jenny, what should we do if there is an error when we dial? > Currently, error conditions are handled in the Dialer. > > We can reuse Dialer's error handling and do the same behavior, is that what > you expect? Hi Julien, Since for this function we call Dialer app directly, it makes sense to reuse Dialer's error handling. Thanks!
Flags: needinfo?(jelee)
Hi Julien, In dialer, I think, if some error occurs, they display the keypad to update the number. https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js#L355 But, I don't know if this type of error occurs when some conversation is already made with the particular user? I don't think we will be having any errors when we call a user from sms app.
Flags: needinfo?(felash)
We can have errors. For example if the user tries to call someone when there is no coverage. Or no SIM. Or no credit. Or flight mode. Etc... a lot of errors can happen. I didn't look closer, I expect that you can do this :)
Flags: needinfo?(felash)
Hi Julien, I have looked into error handling and have a doubt in which way to proceed. Dialer is handling errors through telephony_messages.js. Here is where exactly it calls: https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/telephony_helper.js#L22 And the telephony_messages file is: https://github.com/mozilla-b2g/gaia/blob/master/shared/js/dialer/telephony_messages.js But as we decided to use mozTelephony, we can find the error reason: https://developer.mozilla.org/en-US/docs/Web/API/TelephonyCall/disconnectedReason Please notice that the error reasons mentioned in moztelephony link aren't completely matching the error in telephony_messages.js. Should we write a separate file like telephony_messages.js to prompt the error reasons of moztelephony? Thank you.
Flags: needinfo?(felash)
Hey vishnu, actually the real error handling is the function handleError in telephony_messages.js. It's called in [1] and [2]: [1] https://github.com/mozilla-b2g/gaia/blob/01ffe82cf088ca8fda9fe6783dc5cad2c3dde01c/apps/communications/dialer/js/telephony_helper.js#L150 [2] https://github.com/mozilla-b2g/gaia/blob/01ffe82cf088ca8fda9fe6783dc5cad2c3dde01c/apps/emergency-call/js/dialer.js#L47 [1] is in dialer, [2] is in the emergency-call dialer (the one that we can use even when the phone is locked). Then you see that handleError itself is checking the error message and _then_ calling displayMessage in [3]. [3] https://github.com/mozilla-b2g/gaia/blob/ed196fe806cbd66998fe3066bf94e2e269121db0/shared/js/dialer/telephony_messages.js#L131 I think we can try calling this directly as well, what do you think ?
Flags: needinfo?(felash)
(In reply to Julien Wajsberg [:julienw] from comment #16) > Hey vishnu, > > actually the real error handling is the function handleError in > telephony_messages.js. It's called in [1] and [2]: > > [1] > https://github.com/mozilla-b2g/gaia/blob/ > 01ffe82cf088ca8fda9fe6783dc5cad2c3dde01c/apps/communications/dialer/js/ > telephony_helper.js#L150 > [2] > https://github.com/mozilla-b2g/gaia/blob/ > 01ffe82cf088ca8fda9fe6783dc5cad2c3dde01c/apps/emergency-call/js/dialer.js#L47 > > [1] is in dialer, [2] is in the emergency-call dialer (the one that we can > use even when the phone is locked). > > Then you see that handleError itself is checking the error message and > _then_ calling displayMessage in [3]. > > [3] > https://github.com/mozilla-b2g/gaia/blob/ > ed196fe806cbd66998fe3066bf94e2e269121db0/shared/js/dialer/telephony_messages. > js#L131 > > I think we can try calling this directly as well, what do you think ? What would be the emergencyOptions argument?? May be NO_NETWORK? As other two conditions aren't possible from SMS?? https://github.com/mozilla-b2g/gaia/blob/ed196fe806cbd66998fe3066bf94e2e269121db0/shared/js/dialer/telephony_messages.js#L96 Thank you :)
Flags: needinfo?(felash)
Pretty sure we should use "TelephonyMessages.REGULAR_CALL", don't you think ? It's very unlikely we get "BadNumberError" anyway; maybe it's possible if we try to dial a local number in a country where the number is not right. "NO_NETWORK" is used in dialer (you can grep to find it) to explain to the user that a number can't be phoned because we're in an emergency only context. But maybe we should check this as well. And actually I wonder if we should import /communications/dialer/js/telephony_helper.js because it seems like we might need it all... Hey Gabriele, what do you think ? The goal here is to use mozTelephony directly when the user taps the "call" button in the Messages app.
Flags: needinfo?(felash) → needinfo?(gsvelto)
(In reply to Julien Wajsberg [:julienw] from comment #18) > Pretty sure we should use "TelephonyMessages.REGULAR_CALL", don't you think ? Yeah, that should do the trick. > And actually I wonder if we should import > /communications/dialer/js/telephony_helper.js because it seems like we might > need it all... Yeah, I'd use that if I were you but I don't think we ever used it outside of the dialer so you might want to verify if it works first.
Flags: needinfo?(gsvelto)
Assignee: nobody → yvtheja
Mass closing of Gaia::SMS bugs. End of an era :(
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
Mass closing of Gaia::SMS bugs. End of an era :(
You need to log in before you can comment on or make changes to this bug.