Closed Bug 1162732 Opened 9 years ago Closed 9 years ago

Multiparty call test case 15.7.1: “speaker” and “mute” options on phone UI are disabled when multi party call is in active state

Categories

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

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

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

VERIFIED FIXED
2.2 S13 (29may)
blocking-b2g 2.2+
Tracking Status
b2g-v2.2 --- verified
b2g-master --- verified

People

(Reporter: pgravel, Assigned: gsvelto)

References

Details

(Whiteboard: [caf priority: p2][CR 833424])

Attachments

(3 files)

Test Procedure:
1. Dial first call
2. Network accepts call and Call is in active state
   OK >>> After this step, user can toggle “speaker” and “mute” options on phone UI. It just works fine.
3. Place first call on hold
   OK >>> After this step, “speaker” and “mute” are disabled, as expected
4. Dial second call
   KO >>> After this step, “speaker” and “mute” options on phone UI are still disabled.
5. Merge/join both calls to make it conference call
6. Both calls are in conference and active state
   KO >>> After this step, “speaker” and “mute” options on phone UI are still disabled.

Alternative scenario that also reproduces the issue:
1. Dial first call
2. Network accepts call and Call is in active state
   OK >>> After this step, user can toggle “speaker” and “mute” options on phone UI. It just works fine.
3. Place first call on hold
   OK >>> After this step, “speaker” and “mute” are disabled, as expected
4. Dial second call
   KO >>> After this step, “speaker” and “mute” options on phone UI are still disabled.
5. Disconnect 2nd call
   KO >>> After this step, “speaker” and “mute” options on phone UI are still disabled.


In both cases the buttons can be re-enabled by holding the active call again and then resuming it.
It looks like the UI simply doesn't transition out of the held state when a second call is made.
Whiteboard: [CR 833424] → [caf priority: p2][CR 833424]
Would like to know if it happens on 2.0, 2.1 as well.
Flags: needinfo?(jlorenzo)
Keywords: qawanted
This issue occurs on Flame 3.0 and 2.2.

Actual results: Putting a call on hold will disable certain buttons that do not get renabled when dialing a different number or combining those calls into a conferencce..
	
Environmental Variables:
Device: Flame 3.0
BuildID: 20150508103602
Gaia: 3692ad2cf3a047cc66f58f655a56b6ec559ef253
Gecko: cef2b76b082d
Version: 40.0a1 (3.0) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0

Environmental Variables:
Device: Flame 2.2
BuildID: 20150507215856
Gaia: 88d3ac2721a5484495c2ed60e4a068945f0de5aa
Gecko: 8ad16ebe659d
Version: 37.0 (2.2) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0

This issue cannot occur on 2.1 or earlier since there was no hold function in the dialer and is thus NOT considered a regression.

Environmental Variables:
Device: Flame 2.1
BuildID: 20150507084645
Gaia: 3e7bd686ecd852f4dfa4605b45f558e6bd34f02a
Gecko: d85173eb5bf4
Version: 34.0 (2.1) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Keywords: qawanted
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
(In reply to Wesley Huang [:wesley_huang] (EPM) (NI me) from comment #1)
> Would like to know if it happens on 2.0, 2.1 as well.

Question answered by Jayme in comment 2.
Flags: needinfo?(jlorenzo)
Comms triage: Certification blocker on a feature which has been introduced in 2.2.
blocking-b2g: 2.2? → 2.2+
soft reminder to module owner :)
Flags: needinfo?(gsvelto)
I'm currently working on this, I couldn't reproduce it sooner because of bug 1164472 which I had to bisect first (and that was a bit of a lengthy process).
Assignee: nobody → gsvelto
Status: NEW → ASSIGNED
Flags: needinfo?(gsvelto)
BTW this is one of the many instances of bug 1082588 so blocking it.
Blocks: 1082588
Comment on attachment 8605768 [details] [review]
[gaia] gabrielesvelto:bug-1162732-speaker-and-mute-button-status > mozilla-b2g:master

The fix was fairly straightforward: I've moved the logic that handles the speaker/mute buttons from the hold/resume action to the oncallschanged/onstatechanged handlers so now the buttons will always correctly reflect the state of the calls. I've modified unit-tests accordingly.

This whole code is somewhat messy and I plan on refactoring it soon.

Note that I've re-intendented a block of code which was out of place in updateMergeAndOnHoldStatus() together with the other changes.
Attachment #8605768 - Flags: review?(thills)
Comment on attachment 8605768 [details] [review]
[gaia] gabrielesvelto:bug-1162732-speaker-and-mute-button-status > mozilla-b2g:master

Hi Gabriele,

It looks good and worked fine for me.

Thanks,
-tamara
Attachment #8605768 - Flags: review?(thills) → review+
Thanks Tamara, time to land.
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Comment on attachment 8605768 [details] [review]
[gaia] gabrielesvelto:bug-1162732-speaker-and-mute-button-status > mozilla-b2g:master

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #):
[User impact] if declined:
[Testing completed]:
[Risk to taking this patch] (and alternatives if risky):
[String changes made]:
Attachment #8605768 - Flags: approval-gaia-v2.2?
Attachment #8605768 - Flags: approval-gaia-v2.2? → approval-gaia-v2.2+
Needs rebasing for v2.2 uplift.
Flags: needinfo?(gsvelto)
Target Milestone: --- → 2.2 S13 (29may)
Here's a PR with the patch cherry-picked and properly uplifted for v2.2.
The try run is green, merged to gaia/v2.2 63e9eeec3032318f8a240f80b6a184fa4b50b6e1

https://github.com/mozilla-b2g/gaia/commit/63e9eeec3032318f8a240f80b6a184fa4b50b6e1
Blocks: 977588
This bug has been verified as pass on latest Nightly build of Flame v2.2&3.0 by the STR in Comment 0.

Actual results: User can enable and disable the mute and speaker anytime in the second call or in a conference.
See attachment: verified_v3.0.mp4
Reproduce rate: 0/5


Device: Flame v2.2 build(Pass)
Build ID               20150528002504
Gaia Revision          999bc627063d16c20f703e702f31a5cf0da8b4a6
Gaia Date              2015-05-28 02:16:40
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/351101ec82ba
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150528.034806
Firmware Date          Thu May 28 03:48:15 EDT 2015
Bootloader             L1TC000118D0

Device: Flame v3.0 build(Pass)
Build ID               20150528160205
Gaia Revision          e7d268074ee3c9eeb191c2205c0e35992fb3915d
Gaia Date              2015-05-28 10:47:28
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/f986e55c4e0b
Gecko Version          41.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150528.192335
Firmware Date          Thu May 28 19:23:44 EDT 2015
Bootloader             L1TC000118D0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][MGSEI-Triage+]
Note:
It can't merge both calls to make it conference call on Flame v2.2 as mentioned in step 5 of Comment 0.
Blocks: 1217393
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: