Items to work re: power management in unity8, 14.10 tasks.

Registered by Michał Sawicz on 2014-04-25

There's power-management-related work items to be done, like moving some responsibilities into unity8 from powerd, and implementing some new elements

Blueprint information

Status:
Not started
Approver:
kevin gunn
Priority:
Undefined
Drafter:
Unity Team
Direction:
Needs approval
Assignee:
Unity UI Team
Definition:
Approved
Series goal:
Proposed for utopic
Implementation:
Unknown
Milestone target:
milestone icon ubuntu-14.10

Related branches

Sprints

Whiteboard

Unity8 - Saviq

- listen to all input events
-- disable touch input when proximity sensor enabled and triggered
- read display settings from settings app
- take over display lock DBus interface from powerd
-- along with proximity
- handle auto-brightness
- talk to u-s-c to request screen / brightness changes

USC/powerd - Aguirre

- Listen to input channel events, restart screen-off and dimmer timer after every new event.
- Listen to power key button event - override all timers and all pending screen-state change events.
- Obtain inacitivity timeout numbers from mir based shell. USC to use default values if no session was ever active.
- All the proximity sensor handling, light sensor and actual backlight device communication stays in powerd (USC calls powerd to actually set user/dim brightness)
- Remove display power state changes and input inactivity handling from powerd

Power off dialog design:
https://launchpadlibrarian.net/158819734/poweroff-buttons.png
https://docs.google.com/a/canonical.com/file/d/0B2mvp37s6lHvMWZ5OVFZM2wtbk0/edit

kgunn query
- wouldn't timer values also potentially be in settings, e.g. maybe a pre-compile list available to the user on the phone screen always on, 1 min, 5 min, 15 min ? (maybe arbitrary user setting time on desktop?)
- so u-s-c would read settings for timer values ?
- maybe we should do a 30 min malta session on proximity with unity, settings, mir, phonedations ?
   * potential proximity policy
     > proximity sensor only turned on during live communication, so active telepathy session & earpiece audio active
       → it could be used for other things, too, e.g. N9 lets you mute an incoming call or
         alarm by putting your phone on its face
     > proximity policy should determine if telepathy session active & earpiece audio active
        (not u-s-c, trust that proximity policy is trustworhty from u-s-c point of view)
     > activating handsfree turns proximity off
     > in active telepathy session w/ earpiece proximity policy can request screen-off & screen-on based on proximity data
     > proximity policy should request screen-on in end of telepathy session

(?)

Work Items

Work items for ubuntu-14.05:
[alberta] Add support for screen blanking timeouts & react to screen blank signals (e.g. power button press) after migrating them from powerd into usc: DONE
[alberta] Add power key long-press detection in USC: DONE
[alberta] Issue clean system shutdown after long-press detection of 5s in USC: DONE
[alberta] powerd to call USC to turn on screen during incoming call/message/other: DONE
[alberta] powerd to call USC to turn on/off screen during a call due to proximity near/far events: DONE
[alberta] Have USC accept and emit a reason flag for display power state changes: DONE
[alberta] Update unity8 powerd plugin and Shell.qml to account for new display power state change signal : DONE
[alberta] Migrate display-request functionality into USC : DONE
[alberta] make powerd-cli proxy to USC for display on requests : DONE
[alberta] Add DBus interface in USC for setting brightness and auto-brightness enabling: DONE
[alberta] Update unity8 powerd plugin to use USC DBus interface for enabling auto-brightness: DONE
[alberta] Update media-hub to use USC interface to keep display on during video playback: DONE
[alberta] Update indicator-power to use USC DBus interface for setting brightness: DONE
[unity-ui-team] implement power off dialog (see above for design): TODO
[unity-ui-team] Add power key long-press detection in unity shell: TODO
[unity-ui-team] Show power off dialog after long-press detection of 2s in Unity shell: TODO

Work items for later:
Have indicator-power set brightness by proxying to unity8: TODO
Have unity8 use mir socket to proxy brightness values to USC: TODO
Add support for configuring inactivity timeout values: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.