on xenial help sign in
Keep applications suspended while lockscreen is shown Fixes: 1378126

Approved by: Josh Arenson

commitdf85ab4c91de831dd959ad7a40a9fa153f2f65f9 authorMichael Zanetti <michael.zanetti@canonical.com> dateMon 17 Nov 2014, 13:47 (12 years ago) parenta394f86cf723d8
2 files changed+28−1
qml/Shell.qml+1−1 tests/qmltests/tst_ShellWithPin.qml+27
qml/Shell.qml+1−1
@@ -605,7 +605,7 @@ Item {
605605 Binding {
606606 target: ApplicationManager
607607 property: "suspended"
608− value: greeter.shown && greeterWrapper.showProgress == 1
608+ value: (greeter.shown && greeterWrapper.showProgress == 1) || lockscreen.shown
609609 }
610610 }
611611 }
tests/qmltests/tst_ShellWithPin.qml+27
@@ -444,5 +444,32 @@ Item {
444444 tryCompare(lockscreen, "shown", false);
445445 tryCompare(LightDM.Greeter, "active", false);
446446 }
447+
448+ function test_suspend() {
449+ var greeter = findChild(shell, "greeter");
450+
451+ // Put it to sleep
452+ Powerd.status = Powerd.Off;
453+
454+ // If locked, ApplicationManager.suspended should be true
455+ tryCompare(ApplicationManager, "suspended", true);
456+
457+ // And wake up
458+ Powerd.status = Powerd.On;
459+ tryCompare(greeter, "showProgress", 1);
460+
461+ // Swipe away greeter to focus app
462+ swipeAwayGreeter();
463+
464+ // We have a lockscreen, make sure we're still suspended
465+ tryCompare(ApplicationManager, "suspended", true);
466+
467+ enterPin("1234")
468+
469+ // Now that the lockscreen has gone too, make sure we're waking up
470+ tryCompare(ApplicationManager, "suspended", false);
471+
472+ }
473+
447474 }
448475}