bottom edge first time wizard is being incorrectly displayed on dialer-app and messaging-app
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Fix Released
|
High
|
Michał Sawicz | ||
Ubuntu UX |
New
|
Undecided
|
Unassigned | ||
unity8 (Ubuntu) |
Fix Released
|
High
|
Michael Terry |
Bug Description
A new bottom edge wizard is being displayed in the recent images, but there are cases where it is being displayed when it shouldn't.
Steps to reproduce:
1) Flash the phone with --wipe.
2) Before opening dialer-app, lock the phone and receive a call.
3) Once you accept the call, dialer-app is launched and instead of the live call view, the wizard is displayed on top of it, but there is no bottom edge on that screen, and I believe in this case we should not display any wizards, specially because the phone is locked, but even if the phone was unlocked, we should not display the wizard if the view does not have bottom edge enabled.
Another case is when launching messaging-app or dialer-app in a dual sim environment. We have a first time dialog that appears behind the wizard. Not sure if that's expected, but seems to cause a bad user experience to me.
Related branches
- Unity8 CI Bot: Approve (continuous-integration)
- Daniel d'Andrada (community): Approve
-
Diff: 1339 lines (+289/-512)14 files modifiedqml/Components/Dialogs.qml (+3/-1)
qml/Notifications/Notifications.qml (+1/-0)
qml/Shell.qml (+12/-8)
qml/Tutorial/InactivityTimer.qml (+32/-16)
qml/Tutorial/Tutorial.qml (+7/-6)
qml/Tutorial/TutorialBottom.qml (+0/-124)
qml/Tutorial/TutorialContent.qml (+58/-141)
qml/Tutorial/TutorialLeft.qml (+2/-2)
qml/Tutorial/TutorialLeftLong.qml (+3/-1)
qml/Tutorial/TutorialPage.qml (+2/-2)
qml/Tutorial/TutorialRight.qml (+2/-2)
qml/Tutorial/TutorialTop.qml (+2/-3)
tests/qmltests/Tutorial/tst_Tutorial.qml (+165/-196)
tests/qmltests/tst_Shell.qml (+0/-10)
description: | updated |
Changed in canonical-devices-system-image: | |
assignee: | nobody → Michał Sawicz (saviq) |
milestone: | none → 11 |
Changed in unity8 (Ubuntu): | |
assignee: | nobody → Michał Sawicz (saviq) |
importance: | Undecided → High |
Changed in canonical-devices-system-image: | |
importance: | Undecided → High |
Changed in unity8 (Ubuntu): | |
assignee: | Michał Sawicz (saviq) → Michael Terry (mterry) |
Changed in canonical-devices-system-image: | |
status: | New → Triaged |
Changed in unity8 (Ubuntu): | |
status: | New → Triaged |
Changed in canonical-devices-system-image: | |
milestone: | 11 → backlog |
Changed in canonical-devices-system-image: | |
status: | Triaged → In Progress |
Changed in unity8 (Ubuntu): | |
status: | Triaged → Fix Committed |
status: | Fix Committed → In Progress |
Changed in canonical-devices-system-image: | |
milestone: | backlog → 12 |
Changed in canonical-devices-system-image: | |
status: | In Progress → Fix Committed |
Changed in canonical-devices-system-image: | |
status: | Fix Committed → Fix Released |
I can't reproduce the live call problem. For me, the bottom edge hint waits until the phone call is over. However, there ARE about 2 seconds after the phone call ends and the hint appears before the live call view switches to the normal dialer view. For those three seconds, the bottom edge of the dialer-app isn't active.
Is that what you're seeing? Or something new?
So the two problems I know about now:
- 2 seconds after received call ends
- dialer and messaging apps with 2 SIMs
For fixing the 2-second problem, I could do a hack like "wait 2 seconds before showing bottom edge for dialer" but that creates more problems. The user can enter the settings screen in those two seconds. Which also doesn't have a bottom edge. That's why the bottom hints come up as soon as you open the app for the first time, it is the only time we know what's on the screen (at least that was the hope).
For fixing the 2-SIM problem, we could probably do a hack that skips the bottom edge completely on those two apps if you have 2 SIMs in. But that also kind of sucks, since those users would probably like the hint too. And it gets into brittle cross-domain assumptions between the app and the shell.
So I guess we very quickly came to the breaking point on the shell being able to fake knowing when to show bottom edge hints.
Long term, we wanted to bring these hints into the apps anyway. That's still the best fix for this. So we can either speed up that plan, or implement some quick-and-dirty communication mechanism between these apps and the shell for when they have an available bottom edge. Maybe as simple as exposing a bool on a DBus interface that the shell can listen to. Just as a stop-gap to moving the screens.
I'll talk with Design about where we are with that plan.