@@ -60,6 +60,11 @@ Item {
63+ function setFakeActiveForApp(app) {
64+ greeter.fakeActiveForApp = app
64 target: LauncherModel
69 target: LauncherModel
65 property: "applicationManager"
70 property: "applicationManager"
@@ -122,18 +127,18 @@ Item {
122 Connections {
127 Connections {
123 target: ApplicationManager
128 target: ApplicationManager
124 onFocusRequested: {
129 onFocusRequested: {
130+ if (LightDM.Greeter.active && appId === "dialer-app") {
131+ // Always let the dialer-app through. Either user asked
132+ // for an emergency call or accepted an incoming call.
133+ setFakeActiveForApp(appId)
125− if (greeter.fakeActiveForApp !== "" && greeter.fakeActiveForApp !== appId) {
134+ } else if (greeter.fakeActiveForApp !== "" && greeter.fakeActiveForApp !== appId) {
126 lockscreen.show();
135 lockscreen.show();
128 greeter.hide();
137 greeter.hide();
131 onFocusedApplicationIdChanged: {
140 onFocusedApplicationIdChanged: {
132− if (LightDM.Greeter.active && ApplicationManager.focusedApplicationId === "dialer-app") {
133− // Always let the dialer-app through, by starting an emergency call.
134− // Likely the user just accepted an incoming call via notification.
135− lockscreen.emergencyCall()
136− } else if (greeter.fakeActiveForApp !== "" && greeter.fakeActiveForApp !== ApplicationManager.focusedApplicationId) {
141+ if (greeter.fakeActiveForApp !== "" && greeter.fakeActiveForApp !== ApplicationManager.focusedApplicationId) {
137 lockscreen.show();
142 lockscreen.show();
139 panel.indicators.hide();
144 panel.indicators.hide();
@@ -235,11 +240,7 @@ Item {
236 onEntered: LightDM.Greeter.respond(passphrase);
241 onEntered: LightDM.Greeter.respond(passphrase);
237 onCancel: greeter.show()
242 onCancel: greeter.show()
239− greeter.fakeActiveForApp = "dialer-app"
240− shell.activateApplication("dialer-app")
243+ onEmergencyCall: shell.activateApplication("dialer-app") // will automatically enter fake-active mode
244 onShownChanged: if (shown) greeter.fakeActiveForApp = ""
245 onShownChanged: if (shown) greeter.fakeActiveForApp = ""