[dialer] + [sound] Can't use earphone to answer or disconnect a call

Bug #1398427 reported by Pat McGowan
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
Critical
Unassigned
Ubuntu UX
Fix Released
High
Olga Kemmet
telephony-service
Fix Released
Critical
Tiago Salem Herrmann
qtmir (Ubuntu)
Fix Released
Critical
Ricardo Salveti
qtmir (Ubuntu RTM)
Fix Released
Critical
Michał Sawicz
telephony-service (Ubuntu)
Fix Released
Critical
Tiago Salem Herrmann
telephony-service (Ubuntu RTM)
Fix Released
Critical
Gustavo Pichorim Boiko
unity8 (Ubuntu)
Fix Released
Critical
Michael Zanetti
unity8 (Ubuntu RTM)
Fix Released
Critical
Michael Zanetti

Bug Description

[Procedures]
1.insert the earphone
2.make a MO call to DUT
3.use the Hook key to answer the call
4.when connected the call use the hook key to disconnect the call

[Expect results]
earphone hook key can answer and disconnect the call
[Actual results]
can't answer and disconnect the call

[Reproduce]
Always

Tags: ww05

Related branches

Changed in canonical-devices-system-image:
status: New → Confirmed
importance: Undecided → Critical
milestone: none → ww50-2014
Bill Filler (bfiller)
Changed in android (Ubuntu):
importance: Undecided → High
assignee: nobody → Ricardo Salveti (rsalveti)
Changed in telephony-service (Ubuntu):
assignee: nobody → Tiago Salem Herrmann (tiagosh)
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

<rsalveti> tiagosh: bfiller: I think it depends on the device, would still need to investigate what is the generic way to get such event
<rsalveti> on mako I know that is a pure input event
<rsalveti> we need a similar functionally for multimedia playback (play/pause)
<rsalveti> so first task there would be to understand how to generically retrieve such event, and then hook that up somewhere in the telephony stack

Revision history for this message
Bill Filler (bfiller) wrote :

according to rsalveti, we need a generic way to retrieve headset events (probably at android layer), and then hook that up somewhere in the telephony stack. This functionality is needed for media playback as well for play/pause

Bill Filler (bfiller)
tags: added: ww51
Bill Filler (bfiller)
Changed in telephony-service:
importance: Undecided → Critical
Changed in android (Ubuntu):
importance: High → Critical
Changed in telephony-service (Ubuntu):
importance: High → Critical
Changed in telephony-service (Ubuntu RTM):
importance: Undecided → Critical
Changed in telephony-service:
assignee: nobody → Tiago Salem Herrmann (tiagosh)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qtmir (Ubuntu):
status: New → Confirmed
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Once https://code.launchpad.net/~rsalveti/qtmir/wired_hs_keys/+merge/243720 is merged you'll be able to retrieve such events at the Qt level (in our case I think the shell is the one responsible for handling the input stack and taking actions).

On QML you should look for both Qt.Key_MediaPlay and Qt.Key_MediaTogglePlayPause (a similar logic would need to be in place for multimedia playback, and also checking if there is an income call in place, but not yet done).

affects: android (Ubuntu) → qtmir (Ubuntu)
Changed in qtmir (Ubuntu RTM):
importance: Undecided → Critical
Changed in qtmir (Ubuntu):
status: New → In Progress
Changed in qtmir (Ubuntu RTM):
status: New → In Progress
assignee: nobody → Ricardo Salveti (rsalveti)
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

<Saviq> I'd like us to list all the usecases we can think of before we decide on how to approach this (and possibly confirm a few cases with UX design)

This is because we first want to better understand the use cases in order to decide which component should handle such logic.

Basically we need to be able to react to input events coming from the wired headset, on the following scenarios:
1 - Media playback: play and pause
2 - Calls: accept when ringing (or waiting), hang up when the call is active
3 - Avoid music playback play/pause then the event should be driving the telephony stack (media-hub already got the logic to pause when there is an active/incoming call)

For media playback we can deliver such events to media-hub, probably using the indicator (when we enable the mpris interface again). Now for telephony, I don't know who should be the bridge.

Revision history for this message
Michał Sawicz (saviq) wrote :

Is there value/desire to providing the play/pause event to the foreground app if it's not playing audio?

In my mind the events (all those that originate from the headset, be it wired or bluetooth) should just follow the audio stream (if any) to its source (media playback - media-hub; ringtone - telephony-service; during a call - telephony-service as well; playing a game - the foreground app; etc.). I know you can post feedback events on audio streams and that feels to me like the most natural way to deliver those.
We should only have a fallback policy in place for when there's no audio playback - deliver to media hub to resume the most recently played stream? To voice recognition on long press?

Headphone (dis)connection (again, wired or otherwise) falls into the same group of events, if possible.

Revision history for this message
Ricardo Salveti (rsalveti) wrote : Re: [Bug 1398427] Re: Can't use earphone to answer or disconnect a call

On Fri, Dec 5, 2014 at 1:24 PM, Michał Sawicz
<email address hidden> wrote:
> Is there value/desire to providing the play/pause event to the
> foreground app if it's not playing audio?
>
> In my mind the events (all those that originate from the headset, be it wired or bluetooth) should just follow the audio stream (if any) to its source (media playback - media-hub; ringtone - telephony-service; during a call - telephony-service as well; playing a game - the foreground app; etc.). I know you can post feedback events on audio streams and that feels to me like the most natural way to deliver those.
> We should only have a fallback policy in place for when there's no audio playback - deliver to media hub to resume the most recently played stream? To voice recognition on long press?
>
> Headphone (dis)connection (again, wired or otherwise) falls into the
> same group of events, if possible.

Yes, and in every case you described media-hub is involved (the only
one atm that is not yet covered is video playback using the browser).

I think a question for design is that if we should only care to send
events for multimedia specific applications, such as music-app and
mediaplayer-app. This is just because a game running in foreground
shouldn't necessarily need to care when we get such event from the
bt/wired headset.

Revision history for this message
Launchpad Janitor (janitor) wrote : Re: Can't use earphone to answer or disconnect a call

This bug was fixed in the package qtmir - 0.4.4+15.04.20141205-0ubuntu1

---------------
qtmir (0.4.4+15.04.20141205-0ubuntu1) vivid; urgency=low

  [ CI Train Bot ]
  * Resync trunk
  * Resync trunk
  * Resync trunk
  * Resync trunk
  * Resync trunk

  [ Ricardo Salveti de Araujo ]
  * qteventfeeder: adding bt and wired headset multimedia keys (LP:
    #1398427)
 -- Ubuntu daily release <email address hidden> Fri, 05 Dec 2014 11:04:29 +0000

Changed in qtmir (Ubuntu):
status: In Progress → Fix Released
Changed in ubuntu-ux:
assignee: nobody → Matthew Paul Thomas (mpt)
status: New → Triaged
importance: Undecided → High
Michał Sawicz (saviq)
Changed in qtmir (Ubuntu RTM):
milestone: none → 14.09-ota-1
assignee: Ricardo Salveti (rsalveti) → Michał Sawicz (saviq)
Revision history for this message
Michał Sawicz (saviq) wrote :

We need design input and some architecting to shut this bug, ww05-2015 would be my estimate.

Changed in canonical-devices-system-image:
status: Confirmed → New
Changed in qtmir (Ubuntu RTM):
milestone: 14.09-ota-1 → none
Changed in canonical-devices-system-image:
milestone: ww51-2014 → ww03-2015
status: New → Confirmed
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

I'm sorry I don't understand this bug report, and Google isn't helping.

A. What is a MO call?
B. What is DUT?
C. What is a hook key?

Bill Filler (bfiller)
tags: added: ww03
removed: ww51
Revision history for this message
Ricardo Salveti (rsalveti) wrote : Re: [Bug 1398427] Re: Can't use earphone to answer or disconnect a call

On Thu, Dec 18, 2014 at 3:03 PM, Matthew Paul Thomas <email address hidden> wrote:
> I'm sorry I don't understand this bug report, and Google isn't helping.
>
> A. What is a MO call?

In this case just a normal phone call (from another headset).

> B. What is DUT?

Device under test, which in this case is the ubuntu phone.

> C. What is a hook key?

Hook key is the multimedia key available in some wired headsets.

So the bug is basically to cover the use case when someone calls your
ubuntu phone and you want to answer/hangup the call with the button
available in your wired headset.

Revision history for this message
Matthew Paul Thomas (mpt) wrote : Re: Can't use earphone to answer or disconnect a call

Okay. I'm skeptical that that requires design work at all. (What else would the hook key be for?) But if it does, it's telephony design, not sound design.

Changed in ubuntu-ux:
assignee: Matthew Paul Thomas (mpt) → Olga Kemmet (olga-kemmet)
Revision history for this message
Michał Sawicz (saviq) wrote :

The one thing the hook key should be used for is for pausing/resuming media playback (especially as there's often volume up/down keys as well). There's a bit of UX design here, too (which one to resume - most probably the most recently paused? Or maybe the most recently paused *by the* hook key?).

Now the design question is whether we want to allow apps getting the event, and if so - when (when they're playing audio only, or also when there's no audio playing? always when the app is focused?). Basically, the floor is open to think of additional use cases for that button.

summary: - Can't use earphone to answer or disconnect a call
+ [dialer] + [sound] Can't use earphone to answer or disconnect a call
Revision history for this message
Michał Sawicz (saviq) wrote :

In a meeting today we agreed that short-term unity8 will just call a particular method on telephony whenever one of the interesting keys is pressed.

Longer-term we still need to work out the exact process, but we'll need the shell to talk to (in order of precedence) telephony, media, app if any is interested in this event. Details TBD.

Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: New → Triaged
assignee: nobody → Michael Zanetti (mzanetti)
importance: Undecided → Critical
Changed in unity8 (Ubuntu RTM):
status: New → Triaged
importance: Undecided → Critical
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: Triaged → In Progress
Changed in unity8 (Ubuntu RTM):
milestone: none → 14.09-release
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtmir - 0.4.4+15.04.20150112.3~rtm-0ubuntu1

---------------
qtmir (0.4.4+15.04.20150112.3~rtm-0ubuntu1) 14.09; urgency=medium

  [ Nick Dedekind ]
  * Compatibility for Mir 0.8.1
  * Notify prompt sessions that sessions have been suspended/resumed.
    (LP: #1355173, #1384950)

  [ Ricardo Salveti de Araujo ]
  * qteventfeeder: adding bt and wired headset multimedia keys (LP:
    #1398427)
 -- Ubuntu daily release <email address hidden> Mon, 12 Jan 2015 13:38:21 +0000

Changed in qtmir (Ubuntu RTM):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
milestone: ww03-2015 → ww05-2015
Changed in canonical-devices-system-image:
status: Confirmed → In Progress
Changed in telephony-service (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package telephony-service - 0.1+15.04.20150116-0ubuntu1

---------------
telephony-service (0.1+15.04.20150116-0ubuntu1) vivid; urgency=low

  [ Tiago Salem Herrmann ]
  * Expose HandleMediaKey(bool doubleClick) to DBus. (LP: #1398427)
 -- Ubuntu daily release <email address hidden> Fri, 16 Jan 2015 10:28:07 +0000

Changed in telephony-service (Ubuntu):
status: In Progress → Fix Released
Bill Filler (bfiller)
tags: added: ww05
removed: ww03
Changed in telephony-service (Ubuntu RTM):
status: New → In Progress
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 8.02+15.04.20150121.2-0ubuntu1

---------------
unity8 (8.02+15.04.20150121.2-0ubuntu1) vivid; urgency=low

  [ Michael Terry ]
  * Don't show any power dialogs while the screen is off. This is a
    band-aid to avoid the symptom, while we still investigate the source
    of why the screen doesn't turn on (and why we seem to not handle the
    power-button-release event). (LP: #1409003, #1410830)
  * Don't refocus the dialer-app when a call is started by the user.
    Because of how qtmir works, this would cause the dialer-app to
    unfocus momentarily, causing interface oddities for the user. (LP:
    #1413065)

  [ CI Train Bot ]
  * Resync trunk

  [ Albert Astals Cid ]
  * Build with ninja
  * Fixes for Table Preview Widget (LP: #1410420)

  [ Michael Zanetti ]
  * Add support for earpiece media buttons (LP: #1398427)
  * Add a WindowMoveResizeArea and tests for it
 -- Ubuntu daily release <email address hidden> Wed, 21 Jan 2015 18:33:18 +0000

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Changed in unity8 (Ubuntu RTM):
status: Triaged → In Progress
assignee: nobody → Michael Zanetti (mzanetti)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 8.02+15.04.20150122.2~rtm-0ubuntu1

---------------
unity8 (8.02+15.04.20150122.2~rtm-0ubuntu1) 14.09; urgency=medium

  [ Michael Terry ]
  * Don't show any power dialogs while the screen is off. (LP: #1409003,
    #1410830)
  * Don't refocus the dialer-app when a call is started by the user. (LP:
    #1413065)

  [ Michael Zanetti ]
  * Add support for earpiece media buttons (LP: #1398427)

  [ Ubuntu daily release ]
  * New rebuild forced
 -- Ubuntu daily release <email address hidden> Thu, 22 Jan 2015 20:47:05 +0000

Changed in unity8 (Ubuntu RTM):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package telephony-service - 0.1+15.04.20150122.1~rtm-0ubuntu1

---------------
telephony-service (0.1+15.04.20150122.1~rtm-0ubuntu1) 14.09; urgency=low

  [ Ubuntu daily release ]
  * New rebuild forced

  [ Gustavo Pichorim Boiko ]
  * Expose HandleMediaKey(bool doubleClick) to DBus (LP: #1398427)
 -- Ubuntu daily release <email address hidden> Thu, 22 Jan 2015 20:51:23 +0000

Changed in telephony-service (Ubuntu RTM):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Released
Changed in ubuntu-ux:
status: Triaged → Fix Released
Bill Filler (bfiller)
Changed in telephony-service:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.