on xenial help sign in
Hide the greeter OSK if indicators are open and don't show the edge tutorial during an emergency call.
dd6ea60Michael Terry
qml/Greeter/CoverPage.qml+1−1
@@ -31,7 +31,7 @@ Showable {
31
31
32 property alias infographics: infographics
32 property alias infographics: infographics
33
33
34− readonly property real showProgress: MathUtils.clamp((width - Math.abs(x)) / width, 0, 1)
34+ readonly property real showProgress: MathUtils.clamp((width - Math.abs(x + launcherOffset)) / width, 0, 1)
35
35
36 signal tease()
36 signal tease()
37 signal clicked()
37 signal clicked()
qml/Shell.qml+2−1
@@ -434,6 +434,7 @@ StyledItem {
434 id: integratedGreeter
434 id: integratedGreeter
435 Greeter {
435 Greeter {
436
436
437+ enabled: panel.indicators.fullyClosed // hides OSK when panel is open
437 hides: [launcher, panel.indicators]
438 hides: [launcher, panel.indicators]
438 tabletMode: shell.usageScenario != "phone"
439 tabletMode: shell.usageScenario != "phone"
439 launcherOffset: launcher.progress
440 launcherOffset: launcher.progress
@@ -678,7 +679,7 @@ StyledItem {
678 objectName: "tutorial"
679 objectName: "tutorial"
679 anchors.fill: parent
680 anchors.fill: parent
680
681
681− paused: callManager.hasCalls || !greeter || greeter.shown ||
682+ paused: callManager.hasCalls || !greeter || greeter.active ||
682 wizard.active
683 wizard.active
683 delayed: dialogs.hasActiveDialog || notifications.hasNotification ||
684 delayed: dialogs.hasActiveDialog || notifications.hasNotification ||
684 inputMethod.visible ||
685 inputMethod.visible ||
tests/qmltests/tst_Shell.qml+1−1
@@ -687,7 +687,7 @@ Rectangle {
687 waitUntilDashIsFocused();
687 waitUntilDashIsFocused();
688 tryCompare(greeter, "shown", false);
688 tryCompare(greeter, "shown", false);
689 } else {
689 } else {
690− compare(greeter.fullyShown, data.greeterShown);
690+ tryCompare(greeter, "fullyShown", data.greeterShown);
691 }
691 }
692
692
693 var launcher = findChild(shell, "launcherPanel");
693 var launcher = findChild(shell, "launcherPanel");
tests/qmltests/tst_ShellWithPin.qml+16
@@ -328,6 +328,22 @@ Item {
328 tryCompare(greeter, "shown", true);
328 tryCompare(greeter, "shown", true);
329 }
329 }
330
330
331+ function test_emergencyCallPausesTutorial() {
332+ var greeter = findChild(shell, "greeter");
333+ var tutorial = findChild(shell, "tutorial");
334+
335+ AccountsService.demoEdges = true;
336+ enterPin("1234");
337+ tryCompare(tutorial, "paused", false);
338+
339+ LightDM.Greeter.showGreeter();
340+ verify(tutorial.paused);
341+
342+ swipeAwayGreeter(true);
343+ tap(findChild(greeter, "emergencyCallLabel"));
344+ verify(tutorial.paused);
345+ }
346+
331 function test_failedLoginsCount() {
347 function test_failedLoginsCount() {
332 AccountsService.failedLogins = 0
348 AccountsService.failedLogins = 0
333
349