@@ -16,7 +16,7 @@
17import QtQuick 2.4
17import QtQuick 2.4
18import AccountsService 0.1
18import AccountsService 0.1
19−import Biometryd 0.0 as Biometryd
19+import Biometryd 0.0
20import GSettings 1.0
20import GSettings 1.0
21import Ubuntu.Components 1.3
21import Ubuntu.Components 1.3
22import Ubuntu.SystemImage 0.1
22import Ubuntu.SystemImage 0.1
@@ -482,35 +482,43 @@ Showable {
482 onLanguageChanged: lightDM.infographic.readyForDataChange()
482 onLanguageChanged: lightDM.infographic.readyForDataChange()
485− Biometryd.Observer {
485+ Observer {
486 id: biometryd
486 id: biometryd
487 objectName: "biometryd"
487 objectName: "biometryd"
489− property var operation
489+ property var operation: null
491− Component.onCompleted: {
491+ function cancelOperation() {
498+ function restartOperation() {
492− if (Biometryd.defaultDevice) {
501+ if (Biometryd.defaultDevice && true /* FIXME check AS */) {
493 var identifier = Biometryd.defaultDevice.identifier;
502 var identifier = Biometryd.defaultDevice.identifier;
494 operation = identifier.identifyUser();
503 operation = identifier.identifyUser();
495 operation.start(biometryd);
504 operation.start(biometryd);
508+ Component.onCompleted: restartOperation()
499− Component.onDestruction: {
509+ Component.onDestruction: cancelOperation()
504 onSucceeded: {
511 onSucceeded: {
505 // FIXME validate result.uid
512 // FIXME validate result.uid
506 d.fingerprintFailureCount = 0;
513 d.fingerprintFailureCount = 0;
507− operation.start(biometryd);
514+ restartOperation();
508 if (root.active)
515 if (root.active)
509 root.forcedUnlock = true;
516 root.forcedUnlock = true;
511 onFailed: {
518 onFailed: {
519+ console.log("Failed to identify user:", reason);
512 d.fingerprintFailureCount++;
520 d.fingerprintFailureCount++;
513− operation.start(biometryd);
521+ restartOperation();
514 if (loader.item)
522 if (loader.item)
515 loader.item.showErrorMessage(i18n.tr("Try again"));
523 loader.item.showErrorMessage(i18n.tr("Try again"));