on xenial help sign in
Hide the greeter OSK if indicators are open and don't show the edge tutorial during an emergency call.
14fc032Michael 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
@@ -433,6 +433,7 @@ StyledItem {
433 id: integratedGreeter
433 id: integratedGreeter
434 Greeter {
434 Greeter {
435
435
436+ enabled: panel.indicators.fullyClosed // hides OSK when panel is open
436 hides: [launcher, panel.indicators]
437 hides: [launcher, panel.indicators]
437 tabletMode: shell.usageScenario != "phone"
438 tabletMode: shell.usageScenario != "phone"
438 launcherOffset: launcher.progress
439 launcherOffset: launcher.progress
@@ -677,7 +678,7 @@ StyledItem {
677 objectName: "tutorial"
678 objectName: "tutorial"
678 anchors.fill: parent
679 anchors.fill: parent
679
680
680− paused: callManager.hasCalls || !greeter || greeter.shown ||
681+ paused: callManager.hasCalls || !greeter || greeter.active ||
681 wizard.active
682 wizard.active
682 delayed: dialogs.hasActiveDialog || notifications.hasNotification ||
683 delayed: dialogs.hasActiveDialog || notifications.hasNotification ||
683 inputMethod.visible ||
684 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