Closed Bug 900801 Opened 11 years ago Closed 11 years ago

[Buri][Shira-49392][Dialer]Call transfers between AG and HF does not work

Categories

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

defect

Tracking

(Not tracked)

RESOLVED FIXED
1.3 C2/1.4 S2(17jan)

People

(Reporter: sync-1, Assigned: rexboy, NeedInfo)

References

Details

(Keywords: feature, late-l10n, Whiteboard: [u=commsapps-user c=dialer p=0])

Attachments

(6 files, 1 obsolete file)

AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.019.171
 Firefox os  v1.1
 Mozilla build ID:20130722070207
 
 DEFECT DESCRIPTION:
 Call transfers between AG and HF does not work
 
 
 REPRODUCING PROCEDURES:
 1.connect a Bluetooth headset
 2.dial a call
 3.from the bluetooth headset can hear the sound -> OK
 4.the sound can transfer from bluetooth headset to speaker -> OK
 5.the sound can not transfer from bluetooth headset to handset -> KO
 
 EXPECTED BEHAVIOUR:
 It would be good to use the speaker buttons as popup menu for choice
 among: 
 1) Speaker
 2) Bluetooth
 3) Handset
 
 
 ASSOCIATE SPECIFICATION:
 
 TEST PLAN REFERENCE:
 
 TOOLS AND PLATFORMS USED:
 
 USER IMPACT:
 
 REPRODUCING RATE:
 
 For FT PR, Please list reference mobile's behavior:
blocking-b2g: --- → leo?
As written, this is an enhancement request. If this is a regression, please let us know.
blocking-b2g: leo? → koi?
Keywords: feature
joi+ on the minor enhancement, should be not adding more UX, but rather when you switch between handset and bluetooh, the handset audio should come out from the receiver (not from the speaker)
blocking-b2g: koi? → koi+
Whiteboard: [u=commsapps-user c=dialer p=0]
Summary: [Buri] [Dialer]Call transfers between AG and HF does not work → [Buri][Shira-49392][Dialer]Call transfers between AG and HF does not work
Assignee: nobody → rexboy
Joe,

Please help understand why this feature did not land on or before 9/16
Flags: needinfo?(stuyboy)
it's not a feature. per comms team triage earlier, it was considered as a bug to be fixed in v1.2
I guess the first post is asking for something like this menu in Android:
https://app.box.com/s/fxw1u1vlm2e943cqyrx6

And what Joe said in Comment 2 is to let the speaker button at rightmost
of oncall frame switch between BT device/receiver of phone
(whereas current behavior is switch between BT device/speaker of phone).
https://app.box.com/s/ck6m68pm8o40rwmsmfij

But because the button is really a speaker icon, I'm not sure if it's appropriate to let
it switch to receiver. Ayman may you confirm the behavior we should implement?
Flags: needinfo?(aymanmaat)
Target Milestone: --- → 1.2 QE2(Oct25)
(In reply to KM Lee [:rexboy] from comment #5)
> I guess the first post is asking for something like this menu in Android:
> https://app.box.com/s/fxw1u1vlm2e943cqyrx6
> 
> And what Joe said in Comment 2 is to let the speaker button at rightmost
> of oncall frame switch between BT device/receiver of phone
> (whereas current behavior is switch between BT device/speaker of phone).
> https://app.box.com/s/ck6m68pm8o40rwmsmfij
> 
> But because the button is really a speaker icon, I'm not sure if it's
> appropriate to let
> it switch to receiver. Ayman may you confirm the behavior we should
> implement?

Hey Rexboy

This is dialler, so i am going to pass it to Jacqueline and Rob to address from a UX perspective as i am very much overloaded at the moment and have little capacity.

ni? to Jacqueline and Rob
Flags: needinfo?(rmacdonald)
Flags: needinfo?(jsavory)
Flags: needinfo?(aymanmaat)
UX,

Please chime in.
Flags: needinfo?(firefoxos-ux-bugzilla)
Sorry for the delay on this one. 
I've attached a page describing the solution that Rob and I feel will work for transferring between different audio sources. Let me know if there are any concerns with this solution.
Flags: needinfo?(rmacdonald)
Flags: needinfo?(jsavory)
Flags: needinfo?(firefoxos-ux-bugzilla)
So at first glance of the spec we need
1. a pair of on/off icon of audio source button
2. maybe some l10n key for the menu

The "select source" menu can come directly from action menu so it won't cost too much I think.
Not pretty sure about effort on detecting / listing BT devices actively. Investigating.
Seems ok to me to implement now.
But we need assets of audio source button mentioned in comment 8.

Not sure who can help on visual assets, Patryk may you help (find someone) for this?
Flags: needinfo?(padamczyk)
Just tried on implementing and made a small discussion with Dominic.
I found that we have no significant way to switch back to phone receiver besides using disconnectSco() to disconnect the SCO connection of headset. I'm not sure if we have better ways to do this.

Marco, do you have any suggestions on switching sounds between headset and phone receiver?
Flags: needinfo?(mchen)
Flags: needinfo?(mchen) → needinfo?(echou)
(In reply to KM Lee [:rexboy] from comment #11)

Currently we didn't expose any Web API for changing the audio routing priority on Bt headset.
The only way now is to disconnect the SCO directly (just as you said)

I remember that if user tried to transfer the routing between BT headset to speaker or earphone then SCO connection should be disconnected for passing the PTS verification.

Hi Eric,

Could you help to confirm this? Thanks.
(In reply to Marco Chen [:mchen] from comment #12)
> (In reply to KM Lee [:rexboy] from comment #11)
> 
> Currently we didn't expose any Web API for changing the audio routing
> priority on Bt headset.
> The only way now is to disconnect the SCO directly (just as you said)
> 
> I remember that if user tried to transfer the routing between BT headset to
> speaker or earphone then SCO connection should be disconnected for passing
> the PTS verification.
> 
> Hi Eric,
> 
> Could you help to confirm this? Thanks.

Yes, current design can pass Bluetooth certification. Having said that, I think it's a quite common function for smart phone users. IIRC, similar bugs has been reported for a few times, which means it seems to be very intuitive for users switching audio source among Bluetooth headset, handset and speaker.
Flags: needinfo?(echou)
WIP
https://github.com/rexboy7/gaia/commit/a7881edbf037ce7081e5419570a55af01627304d

This patch is based on patch of bug 912005 for its bluetooth_helper. (Thus some CDMA codes mixed in. Will remove them when completed)

Things works:
* "Select audio source" menu
* Switch "speaker button" to "bluetooth button"
* The following switch: HF->speaker, HF->receiver, receiver->speaker, receiver->HF, speaker->HF

Todo:
* speaker->receiver doesn't work, will go to HF (May need some change on system/bluetooth.js)
* Activate/detactivate status of bluetooth button and speaker button
  (Should be almost the same solution with bug 917344, and we need assets)
* Unit test
Depends on: 929376
It would be better that if we can just use BluetoothManager.IsConnected() in content process.

With this API, you can just get the profile connection status from |mozBluetooth|. In other words, no need to get adapter before checking the connection status.
seem like a feature request in the end. koi?
blocking-b2g: koi+ → koi?
Wilfred, can you consider this for the Dialer backlog?
blocking-b2g: koi? → -
Flags: needinfo?(wmathanaraj)
i have added to backlog on Google doc - we will discuss priority when we get closer to v1.3 FC
Flags: needinfo?(wmathanaraj)
Peter please look at comment 8 icons are needed.
Flags: needinfo?(padamczyk) → needinfo?(pla)
Attached file Icons_AudioSourceMenu.zip (obsolete) —
Attached is the icon in normal and 'device in use' states as outlined in the IxD document.

Please see subsequent 2 screenshots I'm attaching.
Flags: needinfo?(pla)
We are using the 3 horizontal dots to refer to popup menus (as opposed to the 3 horizontal lines used for drawer).
The blue state when a device other than the default handset has been selected.
Thanks for the assets Peter!

Just combined the assets with unit test, and finished all the todos in comment 14.
This patch should fullfill the features on the wireframe, but it's a little big patch
(more than half are test cases though) and it's koi- now so I'll just post it here before
making sure when can we review and commit this patch.

the WIP patch
https://github.com/rexboy7/gaia/commit/56128faff7bd031cba82012212e67f4fcd073cc0
Almost forgot this :O

I just rebased the patch and there's no much rebase needed here.
Maybe after some test we can start reviewing, but it's also a relatively big change,
I'm not sure if this is going to be in 1.3 or 1.4. try nominating.
blocking-b2g: - → 1.3?
triage: decide to fix this in 1.3 as this bug has been around for some time
blocking-b2g: 1.3? → 1.3+
Target Milestone: 1.2 C3(Oct25) → 1.3 C2/1.4 S2(17jan)
Working, but found that onscostatuschanged and onhfpstatuschanged now cannot be heard if I switch off BT then switch on during a call.
Not sure if it's a Gecko bug since I can heard them before. If they can't be heard, I can't switch the button back during a call.
Continued:
If I just turned off the BT device and then turn it on again, it works.
Seems the cause of Comment 26 is that if I toggle off/on the BT toggle on the phone,
the paired device doesn't get paired again. Seems like another unrelated issue.
So I'll arrange a patch shortly.
Attached image WIP Screenshot
This is the WIP screenshot.
Not sure if this need confirmation from UI.
Peter may you confirm if the screen is OK?
Attachment #8356520 - Flags: ui-review?(pla)
The screen, from left to right, are in the following situations:
1.BT connected, sound goes to BT device. (Or Speaker)
2.BT connected, menu shown after tapping BT button.
3.BT connected, sound goes to phone receiver.
4.BT disconnected, sound goes to phone receiver.
Attached file Proposed patch
And the proposed patch.
Significant changes: Since we have 3 kinds of audio output now, the turnSpeakerOn / turnSpeakerOff pair now becomes three functions: switchToSpeaker / switchToDefaultOut / switchToReceiver. Functionality also differ slightly. May need some discussion since this is not a small change.

Etienne may you help review this patch?
Attachment #8356524 - Flags: review?(etienne)
Comment on attachment 8356524 [details]
Proposed patch

First of all, awesome job on driving this bug Rex!

Made a few comments on github, mainly small stuffs.
And I got the chance to test the feature with a bluetooth headset, pretty slick!
Attachment #8356524 - Flags: review?(etienne)
Thanks for the detailed reviewing Etienne!!
I'm happy to see those new methods is acceptable. Now working on a second version per comments on the PR.

Hello Peter, would you also generate @1.5x and @2x assets of the BT headphone icon? Set ni? here as well to make sure the message won’t be missing.
Flags: needinfo?(pla)
Hi Rexboy, sorry for the delay on these.  Here are all the sizes.

Note I have adjusted the size of the original to be slightly larger to fit in better with the rest of the icons in the screen.  If this can be also updated in the build for the @1 res, that would be great.

Thanks,
Peter
Attachment #825955 - Attachment is obsolete: true
Flags: needinfo?(pla)
Comment on attachment 8356524 [details]
Proposed patch

Thanks for the assets Peter!

Here's an updated version here with updated assets.
Etienne would you review this updated patch again?
Attachment #8356524 - Flags: review?(etienne)
Comment on attachment 8356524 [details]
Proposed patch

All good! Thanks Rex!
Attachment #8356524 - Flags: review?(etienne) → review+
This should not be a blocker. It's a feature that's not a committed feature for 1.3 & has localization risk. Per a drivers discussion, we should be careful taking on patches at this point that have l10n risk.
blocking-b2g: 1.3+ → 1.3?
Keywords: late-l10n
new feature and cannot accommodate late in bug fix cycle.
blocking-b2g: 1.3? → ---
Thanks for helping completing the patch Etienne!

And per triage and l10n issue above, let’s just merge it into master first:
https://github.com/mozilla-b2g/gaia/commit/44cd343b8aac0293321627d465b4e6798bc117a0

I'll update if there are any changes for v1.3.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Attachment #8356520 - Flags: ui-review?(pla)
Depends on: 977619
See Also: → 989233
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: