@@ -971,16 +971,31 @@ Rectangle {
971 // If we swipe too much we will trigger the spread mode
971 // If we swipe too much we will trigger the spread mode
972 // and we don't want that.
972 // and we don't want that.
973 var spreadView = findChild(shell, "spreadView");
973 var spreadView = findChild(shell, "spreadView");
974− var swipeLength = (spreadView.positionMarker1 * spreadView.width) * 0.5;
974+ verify(spreadView);
976 verify(ApplicationManager.count >= 2);
976 verify(ApplicationManager.count >= 2);
977 var previousApp = ApplicationManager.get(1);
977 var previousApp = ApplicationManager.get(1);
979 var touchStartX = shell.width - 1;
979 var touchStartX = shell.width - 1;
980 var touchStartY = shell.height / 2;
980 var touchStartY = shell.height / 2;
981− touchFlick(shell,
981+
983+ if (applicationArguments.deviceName === "phone") {
984+ condition = function() {
985+ return spreadView.shiftedContentX > units.gu(2) &&
986+ spreadView.shiftedContentX < spreadView.positionMarker1 * spreadView.width;
989+ condition = function() {
990+ return spreadView.shiftedContentX > spreadView.width * spreadView.positionMarker1
991+ && spreadView.shiftedContentX < spreadView.width * spreadView.positionMarker2;
995+ touchDragUntil(shell,
982− touchStartX, touchStartY,
996+ touchStartX, touchStartY,
983− touchStartX - swipeLength, touchStartY);
997+ -units.gu(1), 0,
985 // ensure the app switch animation has ended
1000 // ensure the app switch animation has ended
986 tryCompare(spreadView, "shiftedContentX", 0);
1001 tryCompare(spreadView, "shiftedContentX", 0);
@@ -1063,6 +1078,8 @@ Rectangle {
1064 waitUntilShellIsInOrientation(root.physicalOrientation0);
1079 waitUntilShellIsInOrientation(root.physicalOrientation0);
1081+ waitForGreeterToStabilize();
1066 swipeAwayGreeter();
1083 swipeAwayGreeter();
1068 var spreadRepeater = findChild(shell, "spreadRepeater");
1085 var spreadRepeater = findChild(shell, "spreadRepeater");
@@ -1071,6 +1088,19 @@ Rectangle {
1091+ function waitForGreeterToStabilize() {
1092+ var greeter = findChild(shell, "greeter");
1095+ var loginList = findChild(greeter, "loginList");
1096+ // Only present in WideView
1098+ var userList = findChild(loginList, "userList");
1100+ tryCompare(userList, "movingInternally", false);
1074 // expectedAngle is in orientedShell's coordinate system
1104 // expectedAngle is in orientedShell's coordinate system
1075 function checkAppSurfaceOrientation(app, expectedAngle) {
1105 function checkAppSurfaceOrientation(app, expectedAngle) {
1076 var surface = app.session.surface;
1106 var surface = app.session.surface;