on xenial help sign in
Add a function for setting fake-active mode to avoid scary-sounding emergencyCall signal when all we want to do is accept an incoming call
commit1809d71185a1d34d065a048cd3c34663655b8e08 authorMichael Terry <michael.terry@canonical.com> dateMon 11 Aug 2014, 12:47 (12 years ago) parenta12f8e1
1 file changed+12−11
qml/Shell.qml+12−11
qml/Shell.qml+12−11
@@ -60,6 +60,11 @@ Item {
6060 }
6161 }
6262
63+ function setFakeActiveForApp(app) {
64+ greeter.fakeActiveForApp = app
65+ lockscreen.hide()
66+ }
67+
6368 Binding {
6469 target: LauncherModel
6570 property: "applicationManager"
@@ -122,18 +127,18 @@ Item {
122127 Connections {
123128 target: ApplicationManager
124129 onFocusRequested: {
125− if (greeter.fakeActiveForApp !== "" && greeter.fakeActiveForApp !== appId) {
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)
134+ } else if (greeter.fakeActiveForApp !== "" && greeter.fakeActiveForApp !== appId) {
126135 lockscreen.show();
127136 }
128137 greeter.hide();
129138 }
130139
131140 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) {
137142 lockscreen.show();
138143 }
139144 panel.indicators.hide();
@@ -235,11 +240,7 @@ Item {
235240
236241 onEntered: LightDM.Greeter.respond(passphrase);
237242 onCancel: greeter.show()
238− onEmergencyCall: {
239− greeter.fakeActiveForApp = "dialer-app"
240− shell.activateApplication("dialer-app")
241− lockscreen.hide()
242− }
243+ onEmergencyCall: shell.activateApplication("dialer-app") // will automatically enter fake-active mode
243244
244245 onShownChanged: if (shown) greeter.fakeActiveForApp = ""
245246