[greeter] Screen and input should be disabled with proximity sensor when on greeter

Bug #1291455 reported by Michał Sawicz
42
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
kevin gunn
Ubuntu UX
Fix Released
High
Andrea Bernabei
Unity System Compositor
Fix Released
High
Alexandros Frantzis
powerd (Ubuntu)
Fix Released
High
Alexandros Frantzis
unity-system-compositor (Ubuntu)
Fix Released
High
Alexandros Frantzis
unity8 (Ubuntu)
Fix Released
High
Alexandros Frantzis

Bug Description

Steps to reproduce:
* suspend your device
* cover the proximity sensor (top left on mako)
* call the phone

Expecte result:
* screen does not light up until you uncover the proximity sensor

Current result:
* screen lights up and you can answer the call

This results in butt/pocket calls...

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: unity8 7.84+14.04.20140306-0ubuntu1
Uname: Linux 3.4.0-5-mako armv7l
ApportVersion: 2.13.3-0ubuntu1
Architecture: armhf
Date: Wed Mar 12 13:14:37 2014
InstallationDate: Installed on 2014-03-12 (0 days ago)
InstallationMedia: Ubuntu Trusty Tahr (development branch) - armhf (20140312)
SourcePackage: unity8
UpgradeStatus: No upgrade log present (probably fresh install)

------------------------------
UX Desired resolution:

Please refer to Screen blanking policy document: https://docs.google.com/document/d/1RBoVknCLZ4GQ8E_iVftd3i_KmdxI5d6JrBt7i5EDZO0/edit#heading=h.u7wixzf783ng

Related branches

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

Not sure if telepathy-ofono will be involved with this for long, but affecting for now.

Anders (eddiedog988)
Changed in telepathy-ofono (Ubuntu):
status: New → Confirmed
Changed in unity8 (Ubuntu):
status: New → Confirmed
Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :

It's estimated to have a moderate impact on a large portion of Ubuntu users.

Changed in unity8 (Ubuntu):
importance: Undecided → High
Changed in telepathy-ofono (Ubuntu):
importance: Undecided → High
Changed in unity8:
status: New → Confirmed
Changed in telepathy-ofono (Ubuntu):
status: Confirmed → Triaged
Changed in unity8 (Ubuntu):
status: Confirmed → Triaged
no longer affects: hundredpapercuts
Michał Sawicz (saviq)
no longer affects: unity8
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

Another scenario is with incoming text messages. The screen turns on and the greeter starts processing touch events in the pocket, of which there will be many. This can lead to apps being launched. This may be a trigger for the case where the edges no longer function when removing a phone from the pocket (bug #1408263)

Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

Bumping priority as I just experienced this several times

This could also result in the phone remaining unsuspended while continuous touch events are being processed.

Changed in canonical-devices-system-image:
importance: Undecided → High
milestone: none → ww09-2015
status: New → Confirmed
tags: added: battery
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

Although touch events really require a capacitive connection so in pocket events unlikely

Changed in canonical-devices-system-image:
assignee: nobody → Kevin Gunn (kgunn)
Revision history for this message
Michał Sawicz (saviq) wrote :

IIRC it's telepathy-ofono that wakes the screen up for this still (I know, not the greatest architecture...), and powerd/u-s-c are responsible for actually turning it on and off based on proximity. So, as long as the screen is kept on with proximity enabled by telepathy-ofono, u-s-c and powerd should do the right thing and check proximity before turning the display on.

Changed in unity8 (Ubuntu):
status: Triaged → Incomplete
Changed in canonical-devices-system-image:
assignee: Kevin Gunn (kgunn) → Bill Filler (bfiller)
Revision history for this message
Tiago Salem Herrmann (tiagosh) wrote :

It is the opposite, powerd wakes the screen up [1] and telepathy-ofono enable/disable the proximity sensor based on audio outputs [2] (speaker mode must keep the screen on):

[1] http://bazaar.launchpad.net/~phablet-team/powerd/trunk/view/head:/src/powerd.cpp#L257
[2] http://bazaar.launchpad.net/~phablet-team/telepathy-ofono/trunk/view/head:/powerdaudiomodemediator.cpp#L41

Changed in canonical-devices-system-image:
milestone: ww09-2015 → ww13-2015
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in powerd (Ubuntu):
status: New → Confirmed
Revision history for this message
Natalia Bidart (nataliabidart) wrote :

This is a severe issue in my case because:

* Phone is locked in pocket or purse
* Incoming call is not heard or lost
* SMS is sent to caller with default message ("I'm busy, I'll call later")

In my case, SMS are expensive, and the people I communicate via cellphone with do not speak in English, so the English SMS is a total waste of money. Not to mention this could happen when on roaming, and then SMS charges are in foreign currency for me.

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

This is actually working per the design we agreed on some months back (I can't seem to find the bug that has the discussion thread).

Here are the points, I believe:
1) You do want the screen to light up even when the proximity sensor is covered on an incoming call. If the phone is in your purse or bag and it's ringing you need to be able to see it. This is how iOS works, probably Android as well.
2) The incoming call notification is modal. You can only interact with it and there is no other input available that you can accidentally interact with (i.e. indicators, launcher)
3) You have to swipe to answer/decline a call which is difficult to do accidentally
4) The quick reply could be an issue, but even that requires 2 taps. One tap to show the menu then another to select the option.

If there is an issue with 4 happening automatically we should revist the design of the notification.

I think the bottom line is that every notification that occurs when the phone is locked needs:
a) to always be modal so no other actions can be taken on the ui (think this is true already)
b) needs to use swipe to perform an action, not tap

Changed in telepathy-ofono (Ubuntu):
status: Triaged → Invalid
Bill Filler (bfiller)
Changed in canonical-devices-system-image:
assignee: Bill Filler (bfiller) → kevin gunn (kgunn72)
milestone: ww13-2015 → ww17-2015
Revision history for this message
kevin gunn (kgunn72) wrote :

Sounds like we need a design decision here.
a) do we keep the current design, where on alerts & the proximity sensor is covered we still light the screen ? or do we keep the screen blanked until the sensor is uncovered ? (see bfiller's #1 above)

b) if we keep our current design around proximity sensor, should we alter the message quick reply (see bfiller's #4 above)

Changed in powerd (Ubuntu):
status: Confirmed → Incomplete
Changed in ubuntu-ux:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Olga Kemmet (olga-kemmet)
summary: - Screen and input should be disabled with proximity sensor when on
- greeter
+ [greeter] Screen and input should be disabled with proximity sensor when
+ on greeter
kevin gunn (kgunn72)
tags: added: pm-fail
Changed in canonical-devices-system-image:
milestone: ww17-2015 → ww21-2015
kevin gunn (kgunn72)
Changed in canonical-devices-system-image:
milestone: ww21-2015 → ww24-2015
status: Confirmed → Incomplete
Changed in ubuntu-ux:
assignee: Olga Kemmet (olga-kemmet) → Andreea Pirvu (andreea-pirvu)
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

The latest instance of this was my phone locked after too many unlock attempts while in my pocket making it quite inconvenient to take a picture.
Contrary to my comment #6 I can trigger touch events through lightweight fabric like pocket lining.
I disagree with point 1 in comment #9, If you can see the screen the proximity sensor will be disengaged. If you can't it should prevent the screen from coming on. That is:
Event happens - proximity is true - screen off
user takes phone from pocket - proximity now false - screen comes on unless timeout period has passed

I think all the issues with inadvertent touches are resolved by fixing this to keep the screen off until proximity is not detected.

Also see bug #1426115 to shorten the time the screen is on when triggered by an event

Changed in canonical-devices-system-image:
milestone: ww24-2015 → ww28-2015
status: Incomplete → Confirmed
Changed in canonical-devices-system-image:
milestone: ww28-2015 → ww34-2015
kevin gunn (kgunn72)
Changed in unity-system-compositor:
assignee: nobody → Alexandros Frantzis (afrantzis)
importance: Undecided → High
Changed in unity-system-compositor:
status: New → In Progress
Changed in unity-system-compositor (Ubuntu):
importance: Undecided → High
status: New → Triaged
kevin gunn (kgunn72)
Changed in canonical-devices-system-image:
status: Confirmed → In Progress
Changed in unity-system-compositor (Ubuntu):
status: Triaged → In Progress
assignee: nobody → Alexandros Frantzis (afrantzis)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity-system-compositor at revision 237, scheduled for release in unity-system-compositor, milestone Unknown

Changed in unity-system-compositor:
status: In Progress → Fix Committed
kevin gunn (kgunn72)
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-system-compositor - 0.1.0+15.10.20150728.1-0ubuntu1

---------------
unity-system-compositor (0.1.0+15.10.20150728.1-0ubuntu1) wily; urgency=medium

  [ Alexandros Frantzis ]
  * Support different screen timeout values for notifications
    (LP: #1426115)
  * Enable and handle proximity events properly (LP: #1291455)
  * Don't force gcc 4.9 when building the package (LP: #1478926)
  * Introduce new versioning scheme

  [ Alan Griffiths ]
  * Port to mir SystemCompositorWindowManager

  [ Robert Ancell ]
  * Depend on the new xmir package instead of the obsolete
    xserver-xorg-xmir (LP: #1204505)

  [ CI Train Bot ]
  * New rebuild forced.

 -- CI Train Bot <email address hidden> Tue, 28 Jul 2015 18:55:28 +0000

Changed in unity-system-compositor (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

USC 0.1.0+15.10.20150728.1-0ubuntu1 solves one aspect of the problem which involves SMS messages, but does not help with the phone call accept/reject prompt or with turning on the screen in general when we are in the greeter. Further discussions are needed (also in cooperation with UX/design team), to decide the best way forward.

Changed in unity-system-compositor (Ubuntu):
status: Fix Released → Triaged
Revision history for this message
kevin gunn (kgunn72) wrote :

u-s-c change available in silo 30
based on conversation with alf, see comment above, this bug won't be closed based on the u-s-c changes alone.
We need components to employ this change in order to get the benefit

excerpt from alf mail

What's missing
--------------

* Other components that emit notifications and turn the screen on need
  to use reason 'notification' (integer value 4) to take advantage of
  the reduced timeout and proximity behavior.

* Phone calls display an accept/reject prompt, but proximity is not
  enabled for this prompt, so one could inadvertently reply to a phone
  call (although it requires a slide gesture, which makes it more
  difficult). I have an MP
https://code.launchpad.net/~afrantzis/powerd/phone-call-notification-enable-proximity
 that tries to improve this in powerd,
  but has a few drawbacks:

  - If the proximity sensor is covered when a phone call is received,
    the screen turns on momentarily before turning off again.
  - If the screen is already on, proximity is still enabled.

  For SMS messages we avoid these issues by handling everything inside
  USC. We could go the same way here by introducing a new reason 'call'
  for turning the screen on. I would recommend against this though,
  since we would be adding even more complexity and inelegance to a
  system that's already broken design-wise.

Changed in telepathy-ofono (Ubuntu):
status: Invalid → New
Changed in canonical-devices-system-image:
status: Fix Committed → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in telepathy-ofono (Ubuntu):
status: New → Confirmed
Changed in ubuntu-ux:
assignee: Andreea Pirvu (andreea-pirvu) → Benjamin Keyser (bjkeyser)
assignee: Benjamin Keyser (bjkeyser) → Andrea Bernabei (faenil)
Andrea Bernabei (faenil)
Changed in ubuntu-ux:
status: Triaged → Won't Fix
description: updated
description: updated
tags: added: hardware-related
Andrea Bernabei (faenil)
description: updated
kevin gunn (kgunn72)
Changed in unity-system-compositor (Ubuntu):
status: Triaged → Fix Committed
Changed in unity-system-compositor:
status: Fix Committed → Fix Released
Changed in unity-system-compositor (Ubuntu):
status: Fix Committed → Fix Released
kevin gunn (kgunn72)
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
status: Fix Committed → In Progress
milestone: ww34-2015 → ww40-2015
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

A fix was made but a further bug#1489326 entered to address other issues

Changed in canonical-devices-system-image:
milestone: ww40-2015 → ww34-2015
status: In Progress → Fix Released
Changed in unity8 (Ubuntu):
status: Incomplete → Fix Released
Revision history for this message
kevin gunn (kgunn72) wrote :

Reopening this bug, after some testing and discussion. We now believe we need to add a separate "reason" for the notification of an incoming call. Otherwise the incoming call screen would time out too quickly (15 sec for system notif).
Once this is added, we would need the calling client to set this reason.

Changed in canonical-devices-system-image:
status: Fix Released → In Progress
milestone: ww34-2015 → ww40-2015
Changed in unity-system-compositor (Ubuntu):
status: Fix Released → In Progress
assignee: Alexandros Frantzis (afrantzis) → nobody
assignee: nobody → Alberto Aguirre (albaguirre)
Changed in unity-system-compositor (Ubuntu):
assignee: Alberto Aguirre (albaguirre) → Alexandros Frantzis (afrantzis)
kevin gunn (kgunn72)
no longer affects: telepathy-ofono (Ubuntu)
Changed in powerd (Ubuntu):
status: Incomplete → In Progress
importance: Undecided → High
assignee: nobody → Alexandros Frantzis (afrantzis)
Changed in unity8 (Ubuntu):
status: Fix Released → In Progress
kevin gunn (kgunn72)
Changed in unity8 (Ubuntu):
assignee: nobody → Alexandros Frantzis (afrantzis)
kevin gunn (kgunn72)
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Changed in powerd (Ubuntu):
status: In Progress → Fix Released
Changed in unity-system-compositor (Ubuntu):
status: In Progress → Fix Released
Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Paty Davila (dizzypaty) wrote :
Changed in ubuntu-ux:
status: Won't Fix → Fix Committed
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
Andrea Bernabei (faenil)
description: updated
Revision history for this message
Andrea Bernabei (faenil) wrote :

fix verified on Krillin rc-proposed r224 (20160108-020304)

Changed in ubuntu-ux:
status: Fix Committed → 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.