Merge lp:~mterry/unity8/statsWelcomeScreen into lp:unity8

Proposed by Michael Terry
Status: Merged
Approved by: Michael Terry
Approved revision: 286
Merged at revision: 381
Proposed branch: lp:~mterry/unity8/statsWelcomeScreen
Merge into: lp:unity8
Prerequisite: lp:~mterry/unity8/greeter-wallpaper
Diff against target: 316 lines (+93/-15)
9 files modified
Greeter/GreeterContent.qml (+11/-7)
Greeter/Infographics.qml (+10/-1)
plugins/AccountsService/AccountsService.cpp (+19/-0)
plugins/AccountsService/AccountsService.h (+7/-0)
tests/mocks/AccountsService/AccountsService.cpp (+13/-1)
tests/mocks/AccountsService/AccountsService.h (+8/-0)
tests/mocks/libusermetrics/UserMetrics.cpp (+6/-2)
tests/qmltests/Greeter/tst_Infographics.qml (+4/-4)
tests/qmltests/Greeter/tst_Phone.qml (+15/-0)
To merge this branch: bzr merge lp:~mterry/unity8/statsWelcomeScreen
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
MichaƂ Sawicz Needs Information
Michael Zanetti (community) Approve
Review via email: mp+184153@code.launchpad.net

This proposal supersedes a proposal from 2013-09-05.

Commit message

Listen to the system setting StatsWelcomeScreen, which tells us whether to show user-specific infographic data in the greeter.

Description of the change

(Whoops, forgot to set prerequisite branch again)

Listen to the system setting StatsWelcomeScreen, which tells us whether to show user-specific infographic data in the greeter.

In addition to the main attraction, I fixed a bug with animations when switching between data and no-data in the infographic (the change in Infographic.qml). And I added a tiny test for the new feature.

Support for StatsWelcomeScreen is part of bug 1207857, and the option can be seen in the Privacy section of the system settings. Note that toggling that value, as of this writing, doesn't actually work due to a policykit issue. But to manually change the setting, these dbus commands can be used:

To turn stats off:
dbus-send --system --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User32011 org.freedesktop.DBus.Properties.Set string:com.ubuntu.touch.AccountsService.SecurityPrivacy string:StatsWelcomeScreen variant:boolean:false

To turn back on again:
dbus-send --system --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User32011 org.freedesktop.DBus.Properties.Set string:com.ubuntu.touch.AccountsService.SecurityPrivacy string:StatsWelcomeScreen variant:boolean:true

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:278
http://jenkins.qa.ubuntu.com/job/unity8-ci/1026/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3522
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1050
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1730
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/50
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1027
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1027/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1026
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3534
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3534/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-saucy/2984
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1052
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1052/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/879
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/891

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1026/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:280
http://jenkins.qa.ubuntu.com/job/unity8-ci/1047/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3676
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1204
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1770
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/71
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1048
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1048/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1047
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/26
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3688
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3688/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1206
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1206/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1000
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1012

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1047/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:280
http://jenkins.qa.ubuntu.com/job/unity8-ci/1050/
Executed test runs:
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3713/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1241
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1774
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/74
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1051
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1051/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1050
    FAILURE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/59/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3725
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3725/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1243
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1243/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1036
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1048

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1050/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:281
http://jenkins.qa.ubuntu.com/job/unity8-ci/1059/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3745
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1273
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1784
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/83
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1060
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1060/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1059
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/91
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3757
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3757/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1275
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1275/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1067
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1079

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1059/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
MichaƂ Sawicz (saviq) wrote :

Please merge trunk.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:282
http://jenkins.qa.ubuntu.com/job/unity8-ci/1105/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3955
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1547
    FAILURE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1847/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/128
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1105
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1105/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1104
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/283
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/4029
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/4029/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1549
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1549/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1306
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1317

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1105/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Terry (mterry) wrote :

Merged from trunk. I think the jenkins failure was a one-off.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Zanetti (mzanetti) wrote :

mzanetti@noneyet ~/Development/reviews/statsWelcomeScreen/builddir $ make testPhone
Scanning dependencies of target testPhone
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
file:///home/mzanetti/Development/reviews/statsWelcomeScreen/Components/CrossFadeImage.qml:39: Unable to assign QSize to QSizeF
********* Start testing of qmltestrunner *********
Config: Using QTest library 5.0.2, Qt 5.0.2
PASS : qmltestrunner::Greeter::initTestCase()
PASS : qmltestrunner::Greeter::test_properties()
FAIL! : qmltestrunner::Greeter::test_statsWelcomeScreen() Uncaught exception: LightDM is not defined
   Loc: [(0)]
PASS : qmltestrunner::Greeter::test_teaseLockedUnlocked(unlocked)
PASS : qmltestrunner::Greeter::test_teaseLockedUnlocked(locked)
PASS : qmltestrunner::Greeter::test_teasingArea(left)
PASS : qmltestrunner::Greeter::test_teasingArea(right)
PASS : qmltestrunner::Greeter::test_wallpaper(set)
PASS : qmltestrunner::Greeter::test_wallpaper(unset)
QWARN : qmltestrunner::Greeter::test_wallpaper(invalid) file:///home/mzanetti/Development/reviews/statsWelcomeScreen/Greeter/GreeterContent.qml:55:5: QML QQuickImage: Cannot open: file:///home/mzanetti/Development/reviews/statsWelcomeScreen/Greeter/invalid
QWARN : qmltestrunner::Greeter::test_wallpaper(invalid) file:///home/mzanetti/Development/reviews/statsWelcomeScreen/Greeter/GreeterContent.qml:55:5: QML QQuickImage: Binding loop detected for property "source"
PASS : qmltestrunner::Greeter::test_wallpaper(invalid)
PASS : qmltestrunner::Greeter::cleanupTestCase()
Totals: 10 passed, 1 failed, 0 skipped
********* Finished testing of qmltestrunner *********
make[3]: *** [tests/qmltests/CMakeFiles/testPhone] Error 1
make[2]: *** [tests/qmltests/CMakeFiles/testPhone.dir/all] Error 2
make[1]: *** [tests/qmltests/CMakeFiles/testPhone.dir/rule] Error 2
make: *** [testPhone] Error 2

Revision history for this message
Michael Zanetti (mzanetti) wrote :

Hmm... when calling this method something weird happens:

the showAnimation and the hideAnimation start at the same time and fight each other, which causes the infographic being left with only half of the dots painted. Even though it looks quite nice I don't think this is intentional, is it?

review: Needs Information
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:283
http://jenkins.qa.ubuntu.com/job/unity8-ci/1175/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4195
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1863
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1937
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/198
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1175
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1175/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1174
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/491
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/63
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/63/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1865
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1865/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1561
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1573

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1175/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Terry (mterry) wrote :

OK, updated this branch to prevent overlapping animations. Except for the no-data -> data transition, where libusermetrics itself forces us to show immediately, since it signals itself that we're ready for the show animation (usually libusermetrics leaves that to us, but not in this case). So while that transition is abrupt, the data -> no-data looks good and neither shows overlapping animations like it used to.

Revision history for this message
Michael Zanetti (mzanetti) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:284
http://jenkins.qa.ubuntu.com/job/unity8-ci/1182/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4219
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1886
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1945
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/205
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1182
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1182/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1181
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/513
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/87
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/87/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1888
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1888/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1584
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1597

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1182/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/511/
Executed test runs:
    None: http://s-jenkins:8080/job/generic-cleanup-mbs/2552/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4245
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1913/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1950
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/97
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/515
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/515/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/516
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/536
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/113
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/113/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1915
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1915/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1611/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1627

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/523/
Executed test runs:
    SUCCESS: http://s-jenkins:8080/job/generic-cleanup-mbs/2586
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4335
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2043
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1987
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/108
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/527
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/527/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/527
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/622
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/209
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/209/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2045
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2045/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1732
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1748

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/527/
Executed test runs:
    SUCCESS: http://s-jenkins:8080/job/generic-cleanup-mbs/2591
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4345
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2062
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1991
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/112
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/531
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/531/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/531
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/632
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/219
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/219/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2064
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2064/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1751
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1768

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/529/
Executed test runs:
    None: http://s-jenkins:8080/job/generic-cleanup-mbs/2593/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4357
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2080
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1996
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/114
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/533
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/533/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/533
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/643
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/231
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/231/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2082
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2082/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1768
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1785

review: Needs Fixing (continuous-integration)
Revision history for this message
MichaƂ Sawicz (saviq) wrote :

OK it seems those test failures are valid... Or at least I can't get them to pass. Can you verify that autopilot tests pass on device?

review: Needs Information
Revision history for this message
Michael Terry (mterry) wrote :

You're right... I don't see the extra 3 application_lifecycle errors on my desktop, only when running on the device. But it seems to only be with this branch.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:285
http://jenkins.qa.ubuntu.com/job/unity8-ci/1238/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4416
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2158
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2029
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/261
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1238
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1238/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1237
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/698
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/291
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/291/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2160
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2160/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1837
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1855

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1238/rebuild

review: Needs Fixing (continuous-integration)
lp:~mterry/unity8/statsWelcomeScreen updated
286. By Michael Terry

Don't crash if we only ever set an empty username in our mock libusermetrics

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:286
http://jenkins.qa.ubuntu.com/job/unity8-ci/1240/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4438
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2186
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2040
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/263
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1240
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1240/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1239
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/721
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/313
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/313/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2188
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2188/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1864
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1881

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1240/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'Greeter/GreeterContent.qml'
--- Greeter/GreeterContent.qml 2013-09-24 13:00:33 +0000
+++ Greeter/GreeterContent.qml 2013-10-03 04:28:43 +0000
@@ -135,19 +135,23 @@
135135
136 Infographics {136 Infographics {
137 id: infographics137 id: infographics
138 objectName: "infographics"
138 height: narrowMode ? parent.height : 0.75 * parent.height139 height: narrowMode ? parent.height : 0.75 * parent.height
139 model: greeterContentLoader.infographicModel140 model: greeterContentLoader.infographicModel
140141
141 Component.onCompleted: infographics.updateUsername(greeterContentLoader.currentIndex)142 property string selectedUser
143 property string infographicUser: AccountsService.statsWelcomeScreen ? selectedUser : ""
144 onInfographicUserChanged: greeterContentLoader.infographicModel.username = infographicUser
145
146 Component.onCompleted: {
147 selectedUser = greeterContentLoader.model.data(greeterContentLoader.currentIndex, LightDM.UserRoles.NameRole)
148 greeterContentLoader.infographicModel.username = infographicUser
149 greeterContentLoader.infographicModel.readyForDataChange()
150 }
142151
143 Connections {152 Connections {
144 target: root153 target: root
145 onSelected: infographics.updateUsername(uid)154 onSelected: infographics.selectedUser = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole)
146 }
147
148 function updateUsername(uid) {
149 greeterContentLoader.infographicModel.username = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole)
150 greeterContentLoader.infographicModel.readyForDataChangeSlot();
151 }155 }
152156
153 anchors {157 anchors {
154158
=== modified file 'Greeter/Infographics.qml'
--- Greeter/Infographics.qml 2013-09-03 14:39:25 +0000
+++ Greeter/Infographics.qml 2013-10-03 04:28:43 +0000
@@ -29,21 +29,30 @@
29 Connections {29 Connections {
30 target: model30 target: model
3131
32 onDataAboutToAppear: startHideAnimation() // hide "no data" label
32 onDataAppeared: startShowAnimation()33 onDataAppeared: startShowAnimation()
3334
34 onDataAboutToChange: startHideAnimation()35 onDataAboutToChange: startHideAnimation()
35
36 onDataChanged: startShowAnimation()36 onDataChanged: startShowAnimation()
3737
38 onDataAboutToDisappear: startHideAnimation()38 onDataAboutToDisappear: startHideAnimation()
39 onDataDisappeared: startShowAnimation() // show "no data" label
39 }40 }
4041
41 function startShowAnimation() {42 function startShowAnimation() {
43 dotHideAnimTimer.stop()
44 circleShrinkAnimTimer.stop()
45 notification.hideAnim.stop()
46
42 dotShowAnimTimer.startFromBeginning()47 dotShowAnimTimer.startFromBeginning()
43 notification.showAnim.start()48 notification.showAnim.start()
44 }49 }
4550
46 function startHideAnimation() {51 function startHideAnimation() {
52 dotShowAnimTimer.stop()
53 circleGrowAnimTimer.stop()
54 notification.showAnim.stop()
55
47 dotHideAnimTimer.startFromBeginning()56 dotHideAnimTimer.startFromBeginning()
48 notification.hideAnim.start()57 notification.hideAnim.start()
49 }58 }
5059
=== modified file 'plugins/AccountsService/AccountsService.cpp'
--- plugins/AccountsService/AccountsService.cpp 2013-09-19 15:36:54 +0000
+++ plugins/AccountsService/AccountsService.cpp 2013-10-03 04:28:43 +0000
@@ -44,6 +44,7 @@
4444
45 updateDemoEdges();45 updateDemoEdges();
46 updateBackgroundFile();46 updateBackgroundFile();
47 updateStatsWelcomeScreen();
47}48}
4849
49bool AccountsService::demoEdges() const50bool AccountsService::demoEdges() const
@@ -62,6 +63,11 @@
62 return m_backgroundFile;63 return m_backgroundFile;
63}64}
6465
66bool AccountsService::statsWelcomeScreen() const
67{
68 return m_statsWelcomeScreen;
69}
70
65void AccountsService::updateDemoEdges()71void AccountsService::updateDemoEdges()
66{72{
67 auto demoEdges = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges").toBool();73 auto demoEdges = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges").toBool();
@@ -80,6 +86,15 @@
80 }86 }
81}87}
8288
89void AccountsService::updateStatsWelcomeScreen()
90{
91 bool statsWelcomeScreen = m_service->getUserProperty(m_user, "com.ubuntu.touch.AccountsService.SecurityPrivacy", "StatsWelcomeScreen").toBool();
92 if (m_statsWelcomeScreen != statsWelcomeScreen) {
93 m_statsWelcomeScreen = statsWelcomeScreen;
94 Q_EMIT statsWelcomeScreenChanged();
95 }
96}
97
83void AccountsService::propertiesChanged(const QString &user, const QString &interface, const QStringList &changed)98void AccountsService::propertiesChanged(const QString &user, const QString &interface, const QStringList &changed)
84{99{
85 if (m_user != user) {100 if (m_user != user) {
@@ -90,6 +105,10 @@
90 if (changed.contains("demo-edges")) {105 if (changed.contains("demo-edges")) {
91 updateDemoEdges();106 updateDemoEdges();
92 }107 }
108 } else if (interface == "com.ubuntu.touch.AccountsService.SecurityPrivacy") {
109 if (changed.contains("StatsWelcomeScreen")) {
110 updateStatsWelcomeScreen();
111 }
93 }112 }
94}113}
95114
96115
=== modified file 'plugins/AccountsService/AccountsService.h'
--- plugins/AccountsService/AccountsService.h 2013-09-19 15:36:54 +0000
+++ plugins/AccountsService/AccountsService.h 2013-10-03 04:28:43 +0000
@@ -38,6 +38,9 @@
38 Q_PROPERTY (QString backgroundFile38 Q_PROPERTY (QString backgroundFile
39 READ backgroundFile39 READ backgroundFile
40 NOTIFY backgroundFileChanged)40 NOTIFY backgroundFileChanged)
41 Q_PROPERTY (bool statsWelcomeScreen
42 READ statsWelcomeScreen
43 NOTIFY statsWelcomeScreenChanged)
4144
42public:45public:
43 explicit AccountsService(QObject *parent = 0);46 explicit AccountsService(QObject *parent = 0);
@@ -47,11 +50,13 @@
47 bool demoEdges() const;50 bool demoEdges() const;
48 void setDemoEdges(bool demoEdges);51 void setDemoEdges(bool demoEdges);
49 QString backgroundFile() const;52 QString backgroundFile() const;
53 bool statsWelcomeScreen() const;
5054
51Q_SIGNALS:55Q_SIGNALS:
52 void userChanged();56 void userChanged();
53 void demoEdgesChanged();57 void demoEdgesChanged();
54 void backgroundFileChanged();58 void backgroundFileChanged();
59 void statsWelcomeScreenChanged();
5560
56private Q_SLOTS:61private Q_SLOTS:
57 void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed);62 void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed);
@@ -60,11 +65,13 @@
60private:65private:
61 void updateDemoEdges();66 void updateDemoEdges();
62 void updateBackgroundFile();67 void updateBackgroundFile();
68 void updateStatsWelcomeScreen();
6369
64 AccountsServiceDBusAdaptor *m_service;70 AccountsServiceDBusAdaptor *m_service;
65 QString m_user;71 QString m_user;
66 bool m_demoEdges;72 bool m_demoEdges;
67 QString m_backgroundFile;73 QString m_backgroundFile;
74 bool m_statsWelcomeScreen;
68};75};
6976
70#endif77#endif
7178
=== modified file 'tests/mocks/AccountsService/AccountsService.cpp'
--- tests/mocks/AccountsService/AccountsService.cpp 2013-09-19 17:10:23 +0000
+++ tests/mocks/AccountsService/AccountsService.cpp 2013-10-03 04:28:43 +0000
@@ -20,7 +20,8 @@
2020
21AccountsService::AccountsService(QObject* parent)21AccountsService::AccountsService(QObject* parent)
22 : QObject(parent),22 : QObject(parent),
23 m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg")23 m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg"),
24 m_statsWelcomeScreen(true)
24{25{
25}26}
2627
@@ -54,3 +55,14 @@
54 m_backgroundFile = backgroundFile;55 m_backgroundFile = backgroundFile;
55 backgroundFileChanged();56 backgroundFileChanged();
56}57}
58
59bool AccountsService::statsWelcomeScreen() const
60{
61 return m_statsWelcomeScreen;
62}
63
64void AccountsService::setStatsWelcomeScreen(bool statsWelcomeScreen)
65{
66 m_statsWelcomeScreen = statsWelcomeScreen;
67 statsWelcomeScreenChanged();
68}
5769
=== modified file 'tests/mocks/AccountsService/AccountsService.h'
--- tests/mocks/AccountsService/AccountsService.h 2013-09-19 17:10:23 +0000
+++ tests/mocks/AccountsService/AccountsService.h 2013-10-03 04:28:43 +0000
@@ -39,6 +39,10 @@
39 READ backgroundFile39 READ backgroundFile
40 WRITE setBackgroundFile // only available in mock40 WRITE setBackgroundFile // only available in mock
41 NOTIFY backgroundFileChanged)41 NOTIFY backgroundFileChanged)
42 Q_PROPERTY (bool statsWelcomeScreen
43 READ statsWelcomeScreen
44 WRITE setStatsWelcomeScreen // only available in mock
45 NOTIFY statsWelcomeScreenChanged)
4246
43public:47public:
44 explicit AccountsService(QObject *parent = 0);48 explicit AccountsService(QObject *parent = 0);
@@ -49,14 +53,18 @@
49 void setDemoEdges(bool demoEdges);53 void setDemoEdges(bool demoEdges);
50 QString backgroundFile() const;54 QString backgroundFile() const;
51 void setBackgroundFile(const QString &backgroundFile);55 void setBackgroundFile(const QString &backgroundFile);
56 bool statsWelcomeScreen() const;
57 void setStatsWelcomeScreen(bool statsWelcomeScreen);
5258
53Q_SIGNALS:59Q_SIGNALS:
54 void userChanged();60 void userChanged();
55 void demoEdgesChanged();61 void demoEdgesChanged();
56 void backgroundFileChanged();62 void backgroundFileChanged();
63 void statsWelcomeScreenChanged();
5764
58private:65private:
59 QString m_backgroundFile;66 QString m_backgroundFile;
67 bool m_statsWelcomeScreen;
60};68};
6169
62#endif70#endif
6371
=== modified file 'tests/mocks/libusermetrics/UserMetrics.cpp'
--- tests/mocks/libusermetrics/UserMetrics.cpp 2013-06-14 19:35:25 +0000
+++ tests/mocks/libusermetrics/UserMetrics.cpp 2013-10-03 04:28:43 +0000
@@ -228,7 +228,7 @@
228228
229void UserMetricsPrivate::setUsername(const QString &username)229void UserMetricsPrivate::setUsername(const QString &username)
230{230{
231 if (m_username == username) {231 if (m_username == username && m_newData) {
232 return;232 return;
233 }233 }
234234
@@ -407,7 +407,11 @@
407407
408QString UserMetrics::label() const408QString UserMetrics::label() const
409{409{
410 return d_ptr->m_label;410 if (d_ptr->m_label.isEmpty()) {
411 return "No data";
412 } else {
413 return d_ptr->m_label;
414 }
411}415}
412416
413QString UserMetrics::username() const417QString UserMetrics::username() const
414418
=== modified file 'tests/qmltests/Greeter/tst_Infographics.qml'
--- tests/qmltests/Greeter/tst_Infographics.qml 2013-06-05 22:03:08 +0000
+++ tests/qmltests/Greeter/tst_Infographics.qml 2013-10-03 04:28:43 +0000
@@ -64,15 +64,15 @@
6464
65 function test_set_username_data() {65 function test_set_username_data() {
66 return [66 return [
67 { username: "has-password" },67 { username: "has-password", label: "<b>19</b> minutes talk time" },
68 { username: "no-password" },68 { username: "two-factor", label: "No data" },
69 { username: "empty-name" }69 { username: "", label: "No data" },
70 ]70 ]
71 }71 }
7272
73 function test_set_username(data) {73 function test_set_username(data) {
74 infographicModel.username = data.username74 infographicModel.username = data.username
75 tryCompare(label, "text", "<b>19</b> minutes talk time")75 tryCompare(label, "text", data.label)
76 }76 }
77 }77 }
7878
7979
=== modified file 'tests/qmltests/Greeter/tst_Phone.qml'
--- tests/qmltests/Greeter/tst_Phone.qml 2013-09-13 15:17:02 +0000
+++ tests/qmltests/Greeter/tst_Phone.qml 2013-10-03 04:28:43 +0000
@@ -19,6 +19,7 @@
19import ".."19import ".."
20import "../../../Greeter"20import "../../../Greeter"
21import AccountsService 0.121import AccountsService 0.1
22import LightDM 0.1 as LightDM
22import Ubuntu.Components 0.123import Ubuntu.Components 0.1
23import Unity.Test 0.1 as UT24import Unity.Test 0.1 as UT
2425
@@ -53,6 +54,10 @@
53 name: "Greeter"54 name: "Greeter"
54 when: windowShown55 when: windowShown
5556
57 function cleanup() {
58 AccountsService.statsWelcomeScreen = true
59 }
60
56 function test_properties() {61 function test_properties() {
57 compare(greeter.multiUser, false)62 compare(greeter.multiUser, false)
58 compare(greeter.narrowMode, true)63 compare(greeter.narrowMode, true)
@@ -105,6 +110,16 @@
105 tryCompareFunction(function() { return greeter.x;}, 0);110 tryCompareFunction(function() { return greeter.x;}, 0);
106 }111 }
107112
113 function test_statsWelcomeScreen() {
114 // Test logic in greeter that turns statsWelcomeScreen setting into infographic changes
115 compare(AccountsService.statsWelcomeScreen, true)
116 tryCompare(LightDM.Infographic, "username", "single")
117 AccountsService.statsWelcomeScreen = false
118 tryCompare(LightDM.Infographic, "username", "")
119 AccountsService.statsWelcomeScreen = true
120 tryCompare(LightDM.Infographic, "username", "single")
121 }
122
108 function test_wallpaper_data() {123 function test_wallpaper_data() {
109 return [124 return [
110 {tag: "set", accounts: "../tests/data/unity/backgrounds/blue.png", expected: "blue.png"},125 {tag: "set", accounts: "../tests/data/unity/backgrounds/blue.png", expected: "blue.png"},

Subscribers

People subscribed via source and target branches