[Call]The call interface sometimes disappears when making emergency call

Bug #1413065 reported by Bill Filler
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
Critical
Unassigned
dialer-app
Invalid
Critical
Tiago Salem Herrmann
unity8 (Ubuntu)
Fix Released
Critical
Michael Terry
unity8 (Ubuntu RTM)
Fix Released
Undecided
Michael Zanetti

Bug Description

This is the public version of the following bug:
https://bugs.launchpad.net/barajas/+bug/1393641

After debugging seems the issue is that the application is getting deactivated and then activated (via Qt.application.active) when making a call in greeter (emergency) mode. This is causing problems for the app as it pops pages when it gets deactivated and causes the bug sometimes. The underlying problem is that this signal should not be occuring when the app is clearly in the foreground. It doesn't happen when not in greeter mode.

An easy way to test is to install telepathy-ofono deb which is attached and set a fake emergency number to allow you to dial a normal number in emergency mode to help test by running this command at the shell:

mc-tool set ofono/ofono/account0 string:fakeEmergencyNumber=<yourNumber>

Then adding console.log() to the applicationActive signal in dialer-app.qml will verify. When pressing the call button the app is deactivated then reactivated.

Steps to reproduce:
1) install attached telephathy-ofono deb and reboot
2) run
mc-tool set ofono/ofono/account0 string:fakeEmergencyNumber=<yourNumber>
and then follow secondary instructions (if any)
3) lock phone
4) press emergency call button
5) dial <yourNumber> which will be a fake emergency call
6) press the call button
7) sometimes you will see a blank Emergency Call page after you press the call button, and when it works you will see the live call page
8) adding debug to dialer-app.qml will show the active=false then active=true behavior after performing step 6.

Related branches

Revision history for this message
Bill Filler (bfiller) wrote :
Changed in unity-greeter (Ubuntu):
assignee: nobody → Michael Terry (mterry)
Changed in unity8 (Ubuntu):
assignee: nobody → Michał Sawicz (saviq)
Changed in canonical-devices-system-image:
importance: Undecided → Critical
milestone: none → ww05-2015
Changed in dialer-app:
importance: Undecided → Critical
assignee: nobody → Tiago Salem Herrmann (tiagosh)
Changed in unity-greeter (Ubuntu):
importance: Undecided → Critical
Changed in unity8 (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in dialer-app (Ubuntu):
status: New → Confirmed
Changed in unity-greeter (Ubuntu):
status: New → Confirmed
Changed in unity8 (Ubuntu):
status: New → Confirmed
Bill Filler (bfiller)
description: updated
Michael Terry (mterry)
description: updated
no longer affects: unity-greeter (Ubuntu)
Changed in unity8 (Ubuntu):
assignee: Michał Sawicz (saviq) → Michael Terry (mterry)
Revision history for this message
Michael Terry (mterry) wrote :

OK, unity8 has the following piece of code that gets run when the user presses the green call button:

            if (shell.locked && callManager.hasCalls) {
                // We just received an incoming call while locked. The
                // indicator will have already launched dialer-app for us, but
                // there is a race between "hasCalls" changing and the dialer
                // starting up. So in case we lose that race, we'll start/
                // focus the dialer ourselves here too. Even if the indicator
                // didn't launch the dialer for some reason (or maybe a call
                // started via some other means), if an active call is
                // happening, we want to be in the dialer.
                startLockedApp("dialer-app")
            }

This tries to focus the already-focused dialer-app. Due to a bug in qtmir (around line 412 of application_manager.cpp), focusing an already focused app will do a suspend/resume cycle on that app. But Gerry says that code is short-lived and not worth fixing.

So he's asked that we guard the call in unity8 instead, which isn't a bad thing to do regardless. So that's what I'll do. Working on a branch.

no longer affects: dialer-app (Ubuntu)
no longer affects: dialer-app (Ubuntu RTM)
Changed in dialer-app:
status: New → Invalid
Changed in canonical-devices-system-image:
status: New → Confirmed
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: Confirmed → Fix Released
Changed in unity8 (Ubuntu RTM):
status: New → 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
Changed in canonical-devices-system-image:
status: Confirmed → 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.