on xenial help sign in
Handle incoming calls
c4d70b9Michael Terry
qml/Components/EdgeDemo.qml+10−5
@@ -62,11 +62,16 @@ Item {
62 stagesEnabled = true
62 stagesEnabled = true
63 panelEnabled = true
63 panelEnabled = true
64 panelContentEnabled = true
64 panelContentEnabled = true
65+
66+ // Use a tiny delay for these destroy() calls because if a lot is
67+ // happening at once (like creating and being destroyed in same event
68+ // loop, as might happen when answering a call while demo is open),
69+ // the destroy() call will be ignored.
65− if (d.rightEdgeDemo) d.rightEdgeDemo.destroy()
70+ if (d.rightEdgeDemo) d.rightEdgeDemo.destroy(1);
66− if (d.topEdgeDemo) d.topEdgeDemo.destroy()
71+ if (d.topEdgeDemo) d.topEdgeDemo.destroy(1);
67− if (d.bottomEdgeDemo) d.bottomEdgeDemo.destroy()
72+ if (d.bottomEdgeDemo) d.bottomEdgeDemo.destroy(1);
68− if (d.leftEdgeDemo) d.leftEdgeDemo.destroy()
73+ if (d.leftEdgeDemo) d.leftEdgeDemo.destroy(1);
69− if (d.finalEdgeDemo) d.finalEdgeDemo.destroy()
74+ if (d.finalEdgeDemo) d.finalEdgeDemo.destroy(1);
70 }
75 }
71
76
72 function startDemo() {
77 function startDemo() {
qml/Shell.qml+8
@@ -233,6 +233,14 @@ Item {
233 onApplicationAdded: {
233 onApplicationAdded: {
234 if (greeter.shown && appId != "unity8-dash") {
234 if (greeter.shown && appId != "unity8-dash") {
235 greeter.startUnlock()
235 greeter.startUnlock()
236+
237+ // If this happens on first boot, we may be in edge
238+ // tutorial or wizard while receiving a call. But a call
239+ // is more important than wizard so just bail out of those.
240+ if (edgeDemo.running) {
241+ edgeDemo.hideEdgeDemos();
242+ wizard.hide();
243+ }
236 }
244 }
237 if (greeter.narrowMode && greeter.hasLockedApp && appId === greeter.lockedApp) {
245 if (greeter.narrowMode && greeter.hasLockedApp && appId === greeter.lockedApp) {
238 lockscreen.hide() // show locked app
246 lockscreen.hide() // show locked app