Trying to make a call when no voice network is available silently fails with no feedback to user

RESOLVED FIXED in mozilla21

Status

()

RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: cjones, Assigned: etienne)

Tracking

unspecified
mozilla21
x86_64
Linux
Points:
---

Firefox Tracking Flags

(blocking-b2g:tef+, b2g18 fixed, b2g18-v1.0.0 fixed, b2g18-v1.0.1 fixed)

Details

Attachments

(1 attachment, 2 obsolete attachments)

STR
 (1) Get phone into a state where there's no connected voice network (e.g., bug 833979)
 (2) Open dialer app
 (3) Try to make voice call

The call obviously fails, but there's no feedback at all.

In logcat I see

[JavaScript Error: "TypeError: conn.voice.network is null" {file: "app://communications.gaiamobile.org/dialer/js/oncall.js" line: 179}]

so maybe we're trying to show feedback but the code has regressed.

bb? -> radar, but there may be some regulatory issues here.
Assignee: nobody → etienne
blocking-b2g: tef? → tef+
(Assignee)

Comment 1

6 years ago
Created attachment 705847 [details] [diff] [review]
WIP

3 issues:
- we display the callscreen even when there is a call error (new one)
- we're not handling properly the case where conn.voice is null
- the RIL error is probably not 'recognized' by the handleError code in telephony_helper.js (we don't display the error dialog if we don't have a wording apparently)

This patch fixes 1 and 2.

For #3 we could either handle this precise error or add a "generic error" message, any case it's a late-l10n.
(Assignee)

Comment 2

6 years ago
Daniel, do you know what we should do?
Flags: needinfo?(dcoloma)
Keywords: late-l10n
When we developed this feature (seems this regressed) we used the following Acceptance Criteria:

"When a user tries to make a phone call from any of these entry points:

A/ The dialpad by entering manually the phone number and clicking the "dial button" afterwards
B/ The call log by selecting an entry in the log
C/ The address book by tapping on a phone number linked to a contact

Instead of placing the phone call, the user is notified via a confirmation dialogue which Title "No Network connection", message "In order to make a call, you must first have a network connection" and an "OK" button.

When the user clicks "OK", he is returned to:

A) The dialpad with the number to be called shown in the dialpad.
B) THe Call Log
C) The Contact Detail

If the phone number entered (either by A, B or C) entry points is an Emergency Number, the call should be placed and no error should be returned to the user"

in case #3, as per your comment 1. Are you referring to an unexpected RIL error when making the call?
Flags: needinfo?(dcoloma)
(Assignee)

Comment 4

6 years ago
(In reply to Daniel Coloma:dcoloma from comment #3)
> in case #3, as per your comment 1. Are you referring to an unexpected RIL
> error when making the call?

We present the "To make a call, the phone must be connected to a network." message for the BadNumberError error.
I don't know what's the error here (don't have a T-mobile sim card handy) but it's not this one.

Removing the late-l10n here since we're probably going to display the same message, just need to know which error we get.
Flags: needinfo?(jones.chris.g)
Keywords: late-l10n
The error state I was seeing was "searching for network" (which is a lie, bug 833979).
Flags: needinfo?(jones.chris.g)
(Assignee)

Comment 6

6 years ago
Sorry for the imprecision, I need to know the string we get here: 

https://mxr.mozilla.org/gaia/source/apps/communications/dialer/js/telephony_helper.js#67
Flags: needinfo?(jones.chris.g)
Sorry, I can't reliably reproduce the network bustage :(.  Hsin-Yi has been seeing this too; she might be able to reproduce the problem more reliably than I can.
Flags: needinfo?(jones.chris.g)
(Assignee)

Comment 8

6 years ago
Created attachment 706031 [details] [diff] [review]
Patch proposal

With this patch:

- we're closing the callscreen when the dialed call gets an error
- we prevent the nasty JS error
- if there is no voice network we don't event try to place the call and display an error directly
Attachment #706031 - Flags: review?(francisco.jordano)
Comment on attachment 706031 [details] [diff] [review]
Patch proposal

Review of attachment 706031 [details] [diff] [review]:
-----------------------------------------------------------------

Patch looking good, tried on the phone with normal usage and works fine, with airplane mode and so on, but couldn't reproduce the scenario when no conn.voice.network
Looking good to me, r+

Great job Etienne.

::: apps/communications/dialer/js/oncall.js
@@ +175,4 @@
>  
>    // Setting up the SimplePhoneMatcher
>    var conn = window.navigator.mozMobileConnection;
> +  if (conn && conn.voice.network) {

We could check for voice === null, just in case ;P

if (conn && conn.voice && conn.voice.network)

::: apps/communications/dialer/js/recents.js
@@ +230,4 @@
>  
>      // Setting up the SimplePhoneMatcher
>      var conn = window.navigator.mozMobileConnection;
> +    if (conn && conn.voice.network) {

Same here
Attachment #706031 - Flags: review?(francisco.jordano) → review+
(Assignee)

Comment 10

6 years ago
Created attachment 706290 [details] [diff] [review]
Patch v2

Patch with comments addressed.
Lucky me, I had the issue on my otoro this morning (not picking up signal), and it works perfectly :)
Attachment #705847 - Attachment is obsolete: true
Attachment #706031 - Attachment is obsolete: true
Attachment #706290 - Flags: review?(francisco.jordano)
Comment on attachment 706290 [details] [diff] [review]
Patch v2

Nice, thanks Etienne!
Attachment #706290 - Flags: review?(francisco.jordano) → review+
(Assignee)

Comment 12

6 years ago
https://github.com/mozilla-b2g/gaia/commit/5df0c698b0c3f386b02e670a15e100a5d59ec3cd
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
status-b2g18: --- → fixed
Target Milestone: --- → mozilla21
status-b2g18-v1.0.0: --- → fixed
Ryan, I am curious why you set the status-b2g18* flags to 'fixed' when this bug was never uplifted to v1-train or v1.0.0.  Please make sure that the bug is landed on branches before marking as fixed.  This caused a lot of confusion for us this morning, resulting in bug 838761.
status-b2g18: fixed → affected
status-b2g18-v1.0.0: fixed → affected
Sorry about that, must have gotten caught up in the mess when I was making mass changes to some other bugs :(

Updated

6 years ago
Blocks: 839294
Thanks Francisco.

v1-train: ea0ca1f2fa169247ec6c1fa0dae735904a8aabe7
v1.0.0: 8171b24e52318788a19d05a62854ec6e6ca1219f
status-b2g18: affected → fixed
status-b2g18-v1.0.0: affected → fixed
status-b2g18-v1.0.1: --- → fixed
You need to log in before you can comment on or make changes to this bug.