Merge lp:~unity-team/unity8/fingerprint into lp:unity8
| Status: | Merged |
|---|---|
| Approved by: | Michael Zanetti on 2016-06-22 |
| Approved revision: | 2344 |
| Merged at revision: | 2491 |
| Proposed branch: | lp:~unity-team/unity8/fingerprint |
| Merge into: | lp:unity8 |
| Diff against target: |
1908 lines (+1022/-49) 44 files modified
debian/control (+2/-1) plugins/AccountsService/AccountsService.cpp (+21/-1) plugins/AccountsService/AccountsService.h (+13/-1) plugins/AccountsService/com.canonical.unity.AccountsService.xml (+4/-0) plugins/IntegratedLightDM/liblightdm/UsersModel.cpp (+4/-1) plugins/IntegratedLightDM/liblightdm/UsersModel.h (+2/-1) plugins/IntegratedLightDM/liblightdm/UsersModelPrivate.cpp (+5/-3) plugins/IntegratedLightDM/liblightdm/UsersModelPrivate.h (+2/-1) qml/Components/DelayedLockscreen.qml (+1/-0) qml/Components/Lockscreen.qml (+8/-0) qml/Components/PassphraseLockscreen.qml (+4/-0) qml/Components/PinLockscreen.qml (+4/-0) qml/Greeter/CoverPage.qml (+22/-1) qml/Greeter/Greeter.qml (+97/-4) qml/Greeter/NarrowView.qml (+18/-2) qml/Greeter/WideView.qml (+5/-1) qml/Shell.qml (+3/-0) tests/mocks/AccountsService/AccountsService.cpp (+24/-0) tests/mocks/AccountsService/AccountsService.h (+16/-0) tests/mocks/Biometryd/CMakeLists.txt (+14/-0) tests/mocks/Biometryd/MockBiometryd.cpp (+43/-0) tests/mocks/Biometryd/MockBiometryd.h (+50/-0) tests/mocks/Biometryd/MockDevice.cpp (+29/-0) tests/mocks/Biometryd/MockDevice.h (+40/-0) tests/mocks/Biometryd/MockIdentifier.cpp (+28/-0) tests/mocks/Biometryd/MockIdentifier.h (+36/-0) tests/mocks/Biometryd/MockObserver.cpp (+22/-0) tests/mocks/Biometryd/MockObserver.h (+37/-0) tests/mocks/Biometryd/MockOperation.cpp (+56/-0) tests/mocks/Biometryd/MockOperation.h (+48/-0) tests/mocks/Biometryd/plugin.cpp (+41/-0) tests/mocks/Biometryd/plugin.h (+31/-0) tests/mocks/Biometryd/qmldir (+3/-0) tests/mocks/CMakeLists.txt (+1/-0) tests/mocks/IntegratedLightDM/liblightdm/UsersModel.cpp (+4/-1) tests/mocks/IntegratedLightDM/liblightdm/UsersModel.h (+2/-1) tests/mocks/IntegratedLightDM/liblightdm/UsersModelPrivate.cpp (+29/-23) tests/mocks/IntegratedLightDM/liblightdm/UsersModelPrivate.h (+2/-1) tests/qmltests/Components/tst_Lockscreen.qml (+20/-1) tests/qmltests/Greeter/TestView.qml (+10/-3) tests/qmltests/Greeter/tst_Greeter.qml (+171/-0) tests/qmltests/Greeter/tst_NarrowView.qml (+22/-1) tests/qmltests/Greeter/tst_WideView.qml (+1/-1) tests/qmltests/tst_Shell.qml (+27/-0) |
| To merge this branch: | bzr merge lp:~unity-team/unity8/fingerprint |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Michael Zanetti (community) | Approve on 2016-06-22 | ||
| Unity8 CI Bot | continuous-integration | Needs Fixing on 2016-06-21 | |
| Ken VanDine | Approve on 2016-06-17 | ||
| Albert Astals Cid (community) | code looks good | 2016-05-03 | Approve on 2016-06-17 |
|
Review via email:
|
|||
Commit Message
Support unlocking via fingerprint, if one is registered.
Description of the Change
Adds support for the new Biometryd qml module.
Spec details here:
https:/
Testing instructions are at the end of that document.
I may have one tiny change coming -- disabling the Home button while fingerprint registration is happening. But that's waiting on tvoss. Rest can be reviewed in meantime.
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2332
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Albert Astals Cid (aacid) wrote : | # |
Had a look at the code, looks good, but someone with a fingerprint phone needs to review it.
Not approving since otherwise people won't see it in the "Requested reviews you can do" section of https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2332
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2333
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2334
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2336
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2337
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Michael Zanetti (mzanetti) wrote : | # |
I've been using this for a while now and have some issues, mainly in combination with the home button:
If I press the button when the screen is off and there is a focused app other than the dash, the behavior is not predictable. Sometimes it just unlocks the screen, leaving me in the app, somethimes however, it unfocuses the app and puts me to the dash.
I would expect this:
Pressing the home button once should wake up the screen. Because the finger is on the reader, it should unlock unity. However, it should *not* unfocus any app. If I want to go back to the dash from there, I should be required to press the home button for another time.
- 2338. By Michael Terry on 2016-06-20
-
Add a touch of security to fingerprinting
- 2339. By Michael Terry on 2016-06-20
-
Fix tests
- 2340. By Michael Terry on 2016-06-20
-
Disable fingerprints when dialog/
fullscreen- notification/ indicators are up - 2341. By Michael Terry on 2016-06-20
-
Use nicer log message
- 2342. By Michael Terry on 2016-06-20
-
Tweak test
- 2343. By Michael Terry on 2016-06-20
-
Don't show duplicate passphrase prompts
| Michael Terry (mterry) wrote : | # |
OK, might need another review. mzanetti, I think your concern about requiring a finger-lift is being addressed by tvoss in a separate component?
Things changed since last review:
- After three failed attempts for a given user, fingerprints are disabled for that user. They are instead prompted to enter a passphrase/
- On the first login after booting, fingerprints are disabled for the user. They are instead prompted to enter a passphrase/
- When a dialog (e.g. power dialog), a fullscreen notification (e.g. pin unlock), or indicators are showing, the fingerprint reader is ignored.
- 2344. By Michael Terry on 2016-06-20
-
Reset delay timer if we log in with fingerprint
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2342
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2344
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Michael Zanetti (mzanetti) wrote : | # |
I've tested this. The issues with unlocking in unexpected situations are resolved now.
Indeed, the lift-finger issue seems to be addressed by Thomas in the lower layers. I suspect, if he enables that again it will bring back the issue here?
Let's see, so far it works great. If the lower layers change we can probably apply another patch on top.

FAILED: Continuous integration, rev:2332 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/1431/ /unity8- jenkins. ubuntu. com/job/ build/1904/ console /unity8- jenkins. ubuntu. com/job/ build-0- fetch/1930 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 1866 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial+ overlay/ 1866 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= yakkety/ 1866 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 1857/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 1857/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 1857/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 1857 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 1857/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 1857 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 1857/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 1857 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 1857/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 1857/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 1857/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 1857 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 1857/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= yakkety/ 1857/console
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/1431/ rebuild
https:/